我想寫個可以撥放音樂的程式程式中有一個文字方塊 , 裡面顯示如下路徑(可以改變路徑)(C:\\Documents and Settings\\Angus-\\My Documents\\My Music\\天蠶變.mid)我想按一個按鈕(Command)來放音樂我的音樂格式有 mid ; mp3 ; wma 我要用什麼方法來開啟這些音樂檔呢?VB6.0要如何寫這樣的功能呢?請各位大大幫幫忙
2006-10-23 18:43:05 · 2 個解答 · 發問者 Nick 5 in 電腦與網際網路 ➔ 程式設計
W.J.S大大 我用你的方法做 , 第一次是有放出音樂來 ,
可是我第二次要在放其他音樂 (同一個格式的音樂檔 mid檔), 就在也放不出音樂了 , 不知道問題出在哪裡?
您可以為我解惑嗎?
2006-10-25 11:51:41 · update #1
'有很多方法MMControl,MediaPlayer,ShellExecute API等,這裡介紹MCI,表單置4個CommandButton及1個TextBoxPrivate Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As LongPrivate 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 LongDim P$, R&Private Sub Command1_Click() '開檔 Dim S$, H$, I% P = Text1 S = String(LenB(P), Chr(0)) GetShortPathName P, S, Len(S) '取得檔案之短檔名 H = Replace(S, Chr(0), "") mciSendString "close Mus", "", 0, 0 R = mciSendString("open " & H & " alias Mus", "", 0, 0) Caption = "" If R = 0 Then Caption = P S = String(256, Chr(0)) mciSendString "status Mus length", S, 256, 0 End If For I = 2 To 4 Controls("Command" & I).Enabled = Not CBool(R) Next End SubPrivate Sub Command2_Click() 'Play If R Then Exit Sub Caption = "正在播放: " & P mciSendString "play Mus", vbNullString, 0, 0End SubPrivate Sub Command3_Click() 'Pause Caption = "暫停" mciSendString "pause Mus", vbNullString, 0, 0End SubPrivate Sub Command4_Click() 'Stop Dim S As String Caption = P mciSendString "seek Mus to start", vbNullString, 0, 0 S = String(256, 0) mciSendString "status Mus position", S, Len(S), 0End SubPrivate Sub Form_Load() Dim I% For I = 2 To 4 Controls("Command" & I).Enabled = False NextEnd SubPrivate Sub Form_Unload(Cancel As Integer) mciSendString "close Mus", vbNullString, 0, 0 '關檔End Sub
2006-10-25 16:26:41 補充:
每次要播放新曲時,都要先按 Command1(開檔)後,再按 Command2(Play),你再試試看,我在2台電腦上跑都沒問題.
2006-10-26 02:22:14 補充:
據我了解,MCI是以該台電腦中何種媒體檔該由何種程式去播放為依據,然後呼叫該程式去播放該媒體的(我不是很確定)
而我所試的2台電腦MID檔都是由Media Player播放,你要不要去查查那2台是指定由啥程式播放的?還是甘脆直接引用Media Player,Visible設False,讓它負責播放就好了,簡單方便,缺點是發佈到別台電腦比較麻煩,還要考慮版本的問題XD
2006-10-24 20:07:40 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋
我是如W.J.S大大的方式試的 ,
我有試過兩台電腦都不行 , 試了第三台電腦才可以 , 但是前面試的兩台電腦跑這程式還是不行 , 還是開不了音樂 , 不知道我的電腦的設定值是不是被改變了 , 不知道W.J.S大大知不知道要如何解這個問題 , 現在一個頭兩個大
2006-10-25 17:20:37 · answer #2 · answered by Nick 5 · 0⤊ 0⤋