English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

Private Declare Function sndPlay Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal SoundName As String, ByVal Flags As Long) As Long

Private Declare Function sndStop Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal NUL As Long, ByVal uFlags As Long) As Long

這2段的宣告的意思不太了
還有一個是
Call sndPlay(App.Path & "\2.wav", 1)
CALL(是呼叫的意思嗎?)
還有為什麼最後面一定要有,1這個才能撥放呢?
程式判別1=正確ㄇ?

還有
Call sndStop(0, 0)這個(0,0)是什麼意思呢?

2007-01-07 10:32:12 · 2 個解答 · 發問者 123 1 in 電腦與網際網路 程式設計

2 個解答

API的函數名是可以由自己來定,但必須加上 Alias 來告知Dll是要用到裡面的那個函數,此例就是引用了winmm.dll裡的sndPlaySoundA,函數,名稱為sndPlay及sndStop其實2個函數都是使用同一個API,個人覺得無須如此
圖片參考:http://tw.yimg.com/i/tw/blog/smiley/6.gif
大部份此API都宣告成:Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
以 sndPlaySound 為關鍵字去Google查就跑出一堆
圖片參考:http://tw.yimg.com/i/tw/blog/smiley/3.gif
用法範例:Private Sub Command1_Click()
sndPlaySound "音效檔名.wav", 播放模式
End Sub
Private Sub Command1_Click()
sndPlaySound "c:\wave\driving.wav", 1
End Sub●停止播放Private Sub Command1_Click()
sndPlaySound "", 1 '這裡第1個參數是String,故填入空字串
End Sub播放模式0播放音效時,程式停止執行1播放音效時,程式繼續執行8持續不斷重覆播放音效9播放音效時,程式繼續執行,並持續不斷重覆播放音效10有音效正在播放時,不打斷播放,並傳回0
sndStop(0, 0)應該就是要停止播放,第1個0是因為參數是Long型態,輸入0表停止播放,第2個0看上面表格就知道了.

2007-01-08 12:00:29 · answer #1 · answered by W.J.S. 7 · 0 0

到下面的網址看看吧

▶▶http://qoozoo09260.pixnet.net/blog

2014-10-14 01:57:51 · answer #2 · answered by ? 1 · 0 0

fedest.com, questions and answers