Я работаю над программой на Visual Basic 2008, я должен иметь разные типы звуков с различными томами. Следовательно, My.Computer.Audio.Play не является допустимым вариантом.mciSendString/winmm.dll - Воспроизведение аудиофайла
я решил использовать mciSendString вместо и нашел следующий код
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, _
ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
mciSendString("close myWAV", Nothing, 0, 0)
Dim fileName1 As String =
mciSendString("open " & fileName1 & " type mpegvideo alias myWAV", Nothing, 0, 0)
mciSendString("play myWAV", Nothing, 0, 0)
'min Volume is 1, max Volume is 1000
Dim Volume As Integer = (SFXVolume * 100)
mciSendString("setaudio myWAV volume to " & Volume, Nothing, 0, 0)
Теперь этот код я проверил и работает отлично, когда filename1 = «C: //Correct.wav»
Однако когда Я использую
filename1 = My.Application.Info.DirectoryPath & "\ Correct.wav"
я не получаю воспроизведения звука WHATS Oever.
Может ли кто-нибудь помочь мне исправить мой код, чтобы это сработало. Спасибо заранее.
Вы игнорируете возвращаемое значение mciSendString(). Плохая идея, вот как она сообщает вам, что функция не удалась. Поэтому вы не знаете, почему это не работает, потому что вы не проверяете наличие сбоя. –