#vba #audio #powerpoint
#vba #Аудио #powerpoint
Вопрос:
У меня есть код, который может воспроизводить звук в презентации PowerPoint, но если я заставлю его воспроизводить 2 звука один за другим, первый остановится, а второй будет воспроизводиться. Таким образом, первый звук был прерван вторым звуком.
Я пытался экспериментировать с разными флагами, но ни один из них не соответствует тому, чего я хочу достичь. В настоящее время я использую флаг SND_ASYNC.
Вот текущий код (в модуле):
#If VBA7 Then
Public Declare PtrSafe Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#Else
Public Declare Function sndPlaySound32 Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
#End If
Sub playSound(SoundFile As String)
sndPlaySound32 SoundFile, SND_ASYNC
End Sub
Я хочу иметь версию кода, которая воспроизводит звук и останавливает его только по завершении и не прерывается другим звуком.
Комментарии:
1. Попробуйте WMPlayer. OCX
2. Как мне это сделать?
3. Попробуйте примеры по ссылке, которую я предоставил. Опубликуйте код, если вы застряли.
4. Я пытался
Set Wmp = CreateObject("WMPlayer.OCX.7")
, но он возвращает ошибку «Ошибка автоматизации».5. Попробуйте
CreateObject("WMPlayer.OCX")