API mciSendString 问题,为什么不能播放音乐啊,有个更让人恼火的问题,就是打包成EXE后播放没声音,可用源代码运行时就有声音

zzq89120 2009-03-22 02:50:19
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Form_Load()

Call Mp3(App.Path & "\sound\stake.wav", "Mp3_Baoyi_kaishi")
End Sub

Public Sub Mp3(ByVal Mp3_Url As String, ByVal Mp3_Name As String)
mciSendString "close " & Mp3_Name, 0&, 0, 0
mciSendString "open " & Mp3_Url & " alias " & Mp3_Name & " type MPEGVideo", 0&, 0, 0
mciSendString "play " & Mp3_Name, 0&, 0, 0
End Sub


有个更让人恼火的问题,就是打包成EXE后播放没声音,可用源代码运行时就有声音

谢谢各位高手帮帮我!!
...全文
931 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzq89120 2009-03-22
  • 打赏
  • 举报
回复
没人帮啊!!555
zzq89120 2009-03-22
  • 打赏
  • 举报
回复
谢谢楼上的,忽,现在终于可以睡觉了
zzq89120 2009-03-22
  • 打赏
  • 举报
回复
有个更怪的,本机代码运行有声音,打包后也是一样,别的电脑上用代码运行也有声音
东方之珠 2009-03-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 zzq89120 的帖子:]
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Form_Load()

Call Mp3(App.Path & "\sound\stake.wav", "Mp3_Baoyi_kaishi")
End Sub

Public Sub Mp3(ByVal Mp3_Url As String, ByVal Mp3_Name As String)
m…
[/Quote]

传入参数错误!!
1、mciSendString 中的第二个参数用来返回播放信息的(字符串),你看看它的格式:ByVal lpstrReturnString As String
2、它是指针变量,带lp的,所以在定义的时候要这样定义:dim lpstrReturnString as string*256
3、不需要返回信息时,必须将其设置为:vbNullString
东方之珠 2009-03-22
  • 打赏
  • 举报
回复
参数错误,将所有的 0& 换成 vbNullString
参考:http://blog.csdn.net/chenjl1031/archive/2007/12/24/1964909.aspx

1,488

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧