怎样在VB中播放音乐?简单的方法好了。
vb吧
全部回复
仅看楼主
level 1
MinnyCai 楼主
我做了一个21点的游戏,想在游戏中播放音乐,要怎莫办呢?
2009年11月16日 23点11分 1
level 7
将.WAV格式声音文件添加到资源文件中,假设“类型”为“WAVE”,“标识号”为“CLICK”,然后用下列代码即可播放:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Const SND_ASYNC = &H1          '   play asynchronously
Private Const SND_MEMORY = &H4          '   lpszSoundName points to a memory file
Private Sub Command1_Click()
dim arrClick() as byte
arrClick = LoadResData("Click", "WAVE")
sndPlaySound ByVal VarPtr(arrClick(0)), SND_ASYNC + SND_MEMORY
End Sub
2009年11月17日 01点11分 3
level 1
MinnyCai 楼主
回复:3楼
可以直接播放吗?作为背景音乐,直接写在form里。用API的话怎莫办?
2009年11月17日 23点11分 4
level 8
Sub Play_Midi() '播放的文件格式可以是其它音频文件,如rm、mp3、wav等
    Dim midFile As String
    midFile = App.Path
    If Right(midFile, 1) <> "\" Then midFile = midFile & "\"
    midFile = midFile & "sudo.mid"
    midFile = Chr(34) & midFile & Chr(34)
    mciSendString "open " & midFile & " alias midi", vbNullString, 0, 0
    mciSendString "play midi from 0", vbNullString, 0, 0
End Sub
Private Sub Timer2_Timer() '用于判断是否播放结束,以重新播放
    Dim retStr As String * 256
    mciSendString "status midi mode", retStr, 256, 0
    If InStr(retStr, "stopped") > 0 Or InStr(retStr, "停止") > 0 Then
      mciSendString "seek midi to start", vbNullString, 0, 0
      mciSendString "play midi", vbNullString, 0, 0
    End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
    mciSendString "close midi", vbNullString, 0, 0
End Sub
这是我的示例程序-数独游戏中的代码,完整的代码可以下载我的示例程序看看:
http://cbm666.com/szh.rar

2009年11月18日 00点11分 5
高手。学习了。[大拇指]
2023年09月17日 09点09分
1