Воспроизведение звуков (Visual Basic)
Объект My.Computer.Audio предоставляет методы для воспроизведения звуков.
Воспроизведение звуков
Воспроизведение в фоновом режиме позволяет приложению выполнять другой код во время воспроизведения звуков. Метод My.Computer.Audio.Play позволяет приложению воспроизводить только один фоновый звук за раз; когда приложение воспроизводит новый фоновый звук, оно останавливает воспроизведение предыдущего фонового звука. Вы также можете воспроизвести звук и дождаться его окончания.
В следующем примере метод My.Computer.Audio.Play воспроизводит звук. Если AudioPlayMode.WaitToComplete указан, My.Computer.Audio.Play дожидается завершения звука, прежде чем выполнение вызывающего кода будет продолжено. Пользуясь этим примером, убедитесь в том, что имя файла ссылается на звуковой WAV-файл на вашем компьютере.
Sub PlayBackgroundSoundFile() My.Computer.Audio.Play("C:\Waterfall.wav", AudioPlayMode.WaitToComplete) End Sub
В следующем примере метод My.Computer.Audio.Play воспроизводит звук. Пользуясь этим примером, убедитесь в том, что ресурсы приложения включают звуковой WAV-файла с именем Waterfall.
Sub PlayBackgroundSoundResource() My.Computer.Audio.Play(My.Resources.Waterfall, AudioPlayMode.WaitToComplete) End Sub
Циклическое воспроизведение звука
В следующем примере метод My.Computer.Audio.Play воспроизводит заданный звук в фоновом режиме, если задан параметр PlayMode.BackgroundLoop . Пользуясь этим примером, убедитесь в том, что имя файла ссылается на звуковой WAV-файл на вашем компьютере.
Sub PlayLoopingBackgroundSoundFile() My.Computer.Audio.Play("C:\Waterfall.wav", AudioPlayMode.BackgroundLoop) End Sub
В следующем примере метод My.Computer.Audio.Play воспроизводит заданный звук в фоновом режиме, если задан параметр PlayMode.BackgroundLoop . Пользуясь этим примером, убедитесь в том, что ресурсы приложения включают звуковой WAV-файла с именем Waterfall.
Sub PlayLoopingBackgroundSoundResource() My.Computer.Audio.Play(My.Resources.Waterfall, AudioPlayMode.BackgroundLoop) End Sub
Код в приведенном выше примере также доступен как фрагмент кода IntelliSense. В элементе выбора фрагмента кода он находится в Windows Forms Звук приложений>. Дополнительные сведения см. в статье Фрагменты кода.
Обычно циклическое воспроизведение звука в приложении в конечном итоге должно прекратиться.
Остановка воспроизведения звуков в фоновом режиме
Метод My.Computer.Audio.Stop позволяет остановить звук, который воспроизводится в приложении в фоновом режиме или циклически.
Обычно циклическое воспроизведение звука в приложении в какой-то момент должно быть остановлено.
Код в следующем примере останавливает звук, который воспроизводится в фоновом режиме.
Sub StopBackgroundSound() My.Computer.Audio.Stop() End Sub
Код в приведенном выше примере также доступен как фрагмент кода IntelliSense. В элементе выбора фрагмента кода он находится в Windows Forms Звук приложений>. Дополнительные сведения см. в статье Фрагменты кода.
Воспроизведение системных звуков
Метод My.Computer.Audio.PlaySystemSound позволяет воспроизвести указанный системный звук.
Метод My.Computer.Audio.PlaySystemSound принимает в качестве параметра один из общих членов класса SystemSound. Системный звук Asterisk обычно обозначает ошибку.
Код в следующем примере использует метод My.Computer.Audio.PlaySystemSound для воспроизведения системного звука.
Sub PlaySystemSound() My.Computer.Audio.PlaySystemSound( System.Media.SystemSounds.Asterisk) End Sub
См. также раздел
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
The .NET documentation is open source. Provide feedback here.
Обратная связь
Отправить и просмотреть отзыв по
Метод SoundEffect.Play (PowerPoint)
Выражение Переменная, представляющая объект SoundEffect .
Пример
В этом примере воспроизводится звуковой эффект, заданный для перехода на второй слайд в активной презентации.
ActivePresentation.Slides(2).SlideShowTransition.SoundEffect.Play
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по
Set the audio of each slide play automatically in the background in PPT via VBA [closed]
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago .
I have a PPT file which include a audio (MP3) in each slide. It is not played automatically when I play the PPT (with F5 shortcut), of course, I can set each audio media one by one to play automatically in the background, but is there any VBA method to set them all at once? Many Many thanks!
asked Apr 10, 2020 at 16:43
181 10 10 bronze badges
For a answer, which is figured out by myself, please see jianshu.com/p/c0ea333100c5
Apr 11, 2020 at 7:11
1 Answer 1
There is an automatic function to have you music play immediately as you open slide-show mode.
You can also customise the delay and control the entrance of the music in the animations pane.

If you want to play the same music across multiple slides, there is an option for that too:
If you want to use VBA, see CPearson.
Sub PlayTheSound(ByVal WhatSound As String, Optional Flags As Long = 0) If Dir(WhatSound, vbNormal) = "" Then ' WhatSound is not a file. Get the file named by ' WhatSound from the Windows\Media directory. WhatSound = Environ("SystemRoot") & "\Media\" & WhatSound If InStr(1, WhatSound, ".") = 0 Then ' if WhatSound does not have a .wav extension, ' add one. WhatSound = WhatSound & ".wav" End If If Dir(WhatSound, vbNormal) = vbNullString Then ' Can't find the file. Do a simple Beep. Beep Exit Sub End If Else ' WhatSound is a file. Use it. End If ' Finally, play the sound. sndPlaySound32 WhatSound, Flags End Sub
покупка
Как проиграть звук, если в Excel выполнено условие?
В Excel мы можем применить условное форматирование для форматирования и выделения ячеек для соответствия условию по мере необходимости, но иногда вы можете захотеть воспроизвести звук, если условие выполнено. Например, если значение ячейки в A1 больше 300, я хочу, чтобы воспроизводился звук. Excel не поддерживает эту функцию, в этой статье я представлю некоторые коды VBA для решения этой задачи.
Воспроизвести звуковой сигнал системы по умолчанию на основе значения ячейки с кодом VBA
Вот удобный код для воспроизведения звукового сигнала системы по умолчанию при выполнении определенного условия, сделайте следующее:
1. Удерживая нажатой ALT + F11 ключи, затем он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: воспроизведение звукового сигнала системы по умолчанию на основе значения ячейки:
Function BeepMe() As String Beep BeepMe = "" End Function
3. Затем сохраните и закройте это окно кода, вернитесь на рабочий лист и введите эту формулу: = ЕСЛИ (A1> 300, BeepMe (), «») в пустую ячейку рядом с ячейкой, содержащей значение, на основе которого вы хотите воспроизвести звук, а затем нажмите Enter key, в ячейке формулы ничего не будет отображаться, см. снимок экрана:

4. И теперь, если введенное значение в ячейке A1 больше 300, будет воспроизводиться системный звуковой сигнал по умолчанию.
Воспроизвести собственный звук на основе значения ячейки с кодом VBA
Если вы хотите воспроизвести какой-либо другой звук, кроме звукового сигнала системы по умолчанию, здесь также код VBA может оказать вам услугу.
1. Удерживайте ALT + F11 ключи, затем он открывает Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: воспроизведение определенного звука на основе значения ячейки:
#If Win64 Then Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean #Else Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" (ByVal lpszName As String, _ ByVal hModule As Long, ByVal dwFlags As Long) As Boolean #End If Const SND_SYNC = &H0 Const SND_ASYNC = &H1 Const SND_FILENAME = &H20000 Function SoundMe() As String 'Updateby Extendoffice 20161223 Call PlaySound("c:\windows\media\Speech On.wav", _ 0, SND_ASYNC Or SND_FILENAME) SoundMe = "" End Function
3. Затем сохраните и закройте это окно кода, вернитесь на рабочий лист и введите эту формулу: = ЕСЛИ (A1> 300, SoundMe (), «») в пустую ячейку рядом с ячейкой, содержащей значение, на основе которого вы хотите воспроизвести звук, а затем нажмите Enter key, в ячейке формулы ничего не будет отображаться, см. снимок экрана:

4. С этого момента, если в ячейку A300 ввести значение больше 1, сразу будет воспроизводиться определенный звук.
Заметки: В приведенном выше коде вы можете изменить звуковой файл WAV по своему усмотрению из c: \ windows \ media \ Путь файла. Смотрите скриншот:

Воспроизвести звук, если значение ячейки изменяется в определенном столбце с кодом VBA
Если вы хотите воспроизвести звук при изменении значения ячейки в определенном столбце, вы можете применить следующий код VBA.
1. Щелкните правой кнопкой мыши вкладку листа, на которой вы хотите воспроизводить звук при изменении значения в столбце, затем выберите Просмотреть код из контекстного меню, а в открывшемся Microsoft Visual Basic для приложений окна, скопируйте и вставьте следующий код в пустой модуль:
Код VBA: воспроизведение звука при изменении значения ячейки в столбце:
Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice 20161223 Dim xCell As Range On Error Resume Next If Target.Columns.Count = 1 Then If Intersect(Target, Columns(3)) Is Nothing Then Exit Sub Else For Each xCell In Columns(3) On Error Resume Next If (xCell.Value = Target.Value) And (xCell.Value <> "") Then Beep Exit For End If Next End If End If End Sub

Внимание: В приведенном выше коде число 3 в сценарии Колонны (3) — номер столбца, в котором вы хотите воспроизводить звук при изменении значения в этом столбце.
2. А затем сохраните и закройте это окно кода, теперь, если значение ячейки изменится в третьем столбце, будет воспроизводиться системный звуковой сигнал по умолчанию.
Лучшие инструменты для офисной работы
Усовершенствуйте свои навыки работы с Excel с помощью Kutools for Excelи испытайте эффективность, как никогда раньше. Kutools for Excel Предлагает более 300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего.
Office Tab Добавляет в Office интерфейс с вкладками и значительно упрощает вашу работу
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint , Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
