我正在使用 Visual Basic 2008 开发一个程序,我需要有不同类型的不同音量的声音。因此 My.Computer.Audio.Play 不是一个有效的选项。
我决定改用 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" 时运行良好
但是,当我使用
文件名 1 = My.Application.Info.DirectoryPath & "\Correct.wav"
我没有任何声音播放。
任何人都可以帮我更正我的代码,以便它工作。先感谢您。