是可以直接播放的。
大约代码是
dim bWave() as byte
bWave=loadresdata("id","type")
sndplaysound bwave(0),snd_async or snd_nodefault or snd_memory
上面的代码是直接写的,没有经过测试,因此不保证可行,但是要说的是资源里面的文件wave 是可以直接播放的。
还要注意一点的是在声明api的时间把byval filename as string这个参数改为 filename as any,这样才可以工作。
需要特殊的api函数
如:
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
调用方式:
Public Const SND_FILENAME = &H20000 ' name is a file name
Public Const SND_ASYNC = &H1 ' play asynchronously
Dim szFileName As String
szFileName = App.Path & "\test.wav"
PlaySound szFileName, 0, SND_FILENAME + SND_ASYNC