我用二进制读取了声音文件,VB或VB.net如何播放二进制声音数据,请高手赐教!

我用二进制读取了声音文件(wav、MP3、midi),不用保存为临时文件,直接能够播放。如何把数据读入内存后播放,不用保存为临时文件。... 我用二进制读取了声音文件(wav、MP3、midi),不用保存为临时文件,直接能够播放。
如何把数据读入内存后播放,不用保存为临时文件。
展开
 我来答
149005501
推荐于2016-07-25 · TA获得超过8.6万个赞
知道顶级答主
回答量:7.9万
采纳率:90%
帮助的人:1.3亿
展开全部
不明白你为什么要二进制读取声音文件,VB可以直接调用API播放声音文件,不需要你二进制来读取声音文件的。

Private
Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA"
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub PlayWavFile(strFileName As String, PlayCount As Long, JianGe As Long)
'strFileName 要播放的文件名(带路径)
'playCount 播放的次数
'JianGe 多次播放时,每次的时间间隔
If Len(Dir(strFileName)) = 0 Then Exit Sub
If PlayCount = 0 Then Exit Sub
If JianGe < 1000 Then JianGe = 1000
DoEvents
sndPlaySound strFileName, 16 + 1
Sleep JianGe
Call PlayWavFile(strFileName, PlayCount - 1, JianGe)
End Sub

Private Sub Form_Click()
PlayWavFile "C:\aaa.wav", 1, 1000 '参数:播放文件,播放次数,播放间隔
End Sub
追问
非常感谢!
在资源文件中声音读出后,先要存为临时文件,而后播放临时文件。我需要边读边播放,也就是说先用二进制的方式读出后,直接对数据播放。
追答
资源文件需要先写到临时文件里,再进行播放的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式