新聞| | PChome| 登入
2007-06-10 16:59:53 | 人氣65| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

MP3音樂播放器

 

 

Rem 主題:Mp3/Wav 播放器
Rem 表單佈局:commDialog*1,LabelBox*1,水平捲軸*2,控制按鈕*5,Shape*1
Rem 使用DirectShow物件

 





程式碼:

Dim startPosition As Long
Dim myFile As String
Dim myAudio As IBasicAudio
Dim myControl As IMediaControl
Dim myPosition As IMediaPosition
Private Sub BtnControl(ByVal n As Integer)
Select Case n
    Case 1
        Command1.Enabled = True     '開啟檔案致能
        Command2.Enabled = False
        Command3.Enabled = False
        Command4.Enabled = False
        hsVolume.Enabled = False    '音量調整除能
        hsPanel.Enabled = False     '左右聲道除能
    Case 2
        Command2.Enabled = True
        Command3.Enabled = False
        Command4.Enabled = False
        hsVolume.Enabled = False
        hsPanel.Enabled = False
        Command2.SetFocus
   
    Case 3
        Command2.Enabled = False
        Command3.Enabled = True
        Command4.Enabled = True
        hsVolume.Enabled = True
        hsPanel.Enabled = True
        Command3.SetFocus
End Select
End Sub
Private Sub Command1_Click()        '開啟媒體檔案

On Local Error GoTo errR
openFile.Filter = "多媒體檔案(*.wav;*.mp3)|*.wav;*.mp3;"
openFile.ShowOpen                   '開啟檔案對話視窗
myFile = openFile.FileName          '取得媒體檔
Set myControl = New FilgraphManager '新增控制介面物件
Call myControl.RenderFile(myFile)   '載入媒體檔案
Label1.Caption = myFile             '顯示媒體檔案內容
Set myAudio = myControl
myAudio.Volume = hsVolume.Value
myAudio.Balance = hsPanel.Value
Set myPosition = myControl
startPosition = 0
Call Command2_Click                 '啟動播放
Exit Sub

errR:
err.Clear

End Sub

Private Sub Command2_Click()    '播放
myControl.Run
BtnControl 3                    '按鈕致能控制
End Sub

Private Sub Command3_Click()    '暫停
myControl.Pause
BtnControl 2                    '按鈕致能控制
End Sub

Private Sub Command4_Click()    '停止
myControl.Stop
myPosition.CurrentPosition = 0
BtnControl 2                    '按鈕致能控制
End Sub

Private Sub Command5_Click()    '結束
Unload Me
Set Frm_MediaPlay = Nothing     '釋放表單緩衝區記憶體
End Sub

Private Sub Form_Load()
BtnControl 1                    '按鈕致能控制
End Sub

Private Sub hsPanel_Change()
myAudio.Balance = hsPanel.Value '左右聲道調整
End Sub

Private Sub hsVolume_Change()   '音量調整
myAudio.Volume = hsVolume.Value
End Sub

台長: Kenny
人氣(65) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 程式設計 |
此分類下一篇:二進位制數碼運算
此分類上一篇:如何讓兩張表單的資料同步顯示

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文