ListView1.ColumnHeaders.Add , , "名稱"
ListView1.ColumnHeaders.Add , , "地址", 2500
ListView1.GridLines = True
ListView1.FullRowSelect = True
ListView1.View = lvwReport
ListView1.LabelEdit = lvwManual
ListView1.HideSelection = True
Slider1.Visible = False
End SubPrivate Sub ListView1_DblClick()
If ListView1.ListItems.Count = 0 Then Exit Sub '沒有記錄退出
If ListView1.SelectedItem Is Nothing Then Exit Sub '沒有選中記錄退出
PalyMusic ListView1.SelectedItem.SubItems(1) '調用PalyMusic過程播放音樂
End SubPrivate Sub MnuOpen_Click() ' 打開音樂文件 OpenFile.DialogTitle = "選擇音樂文件"
OpenFile.FileName = ""
OpenFile.Filter = "MIDI音樂*.mid|*.mid|Wav音樂*.wav|*.wav|MP3音樂*.mp3|*.mp3" ' 設定打開文件類型
OpenFile.ShowOpen
If OpenFile.FileName = "" Then Exit Sub '如果沒有選擇文件名就為退出
ListView1.ListItems.Add , , OpenFile.FileTitle
ListView1.ListItems(ListView1.ListItems.Count).SubItems(1) = OpenFile.FileName
ListView1.SelectedItem = ListView1.ListItems(ListView1.ListItems.Count)
MMControl1.FileName = ""
MMControl1.DeviceType = "" '由系統默認設備類型
' '判斷打開的音樂文件類型是否為MP3格式,如果MP3文件則指定多媒體設備類型為mp3audio
' MsgBox OpenFile.FilterIndex
' If OpenFile.FilterIndex = 3 Then MMControl1.DeviceType = "mp3audio"
PalyMusic OpenFile.FileName '調用PalyMusic過程播放音樂
End SubPrivate Sub MMControl1_StatusUpdate() '播放文件是發生
On Error GoTo Erropen
MMControl1.TimeFormat = 0 '設置文件長度以毫秒形式返回,
Slider1.Max = MMControl1.Length / 1000 '求得文件的最大長度
If MMControl1.Position <> MMControl1.Length Then '判斷文件是否播放完畢
Slider1.Value = MMControl1.Position / 1000 '得到當前播放的位置
Else
MMControl1.Command = "Prev" '回到音樂文件的開如位置
Slider1.Value = 0 ' 當前值為0
End If
'調用ToMS函數計算剩余時間和總時間 Exit Sub
Erropen:
MsgBox "播放文件出錯!", vbInformation Or vbOKOnly, "系統提示"
End Sub
Private Function ToMS(SM As Long) As String '自定義將毫秒轉化為分、秒Tstring函數
Dim Ld_s As Double
Dim Ld_m As Double
Ld_s = (SM / 1000 / 60) Mod 60
Ld_m = (SM / 1000) Mod 60
ToMS = Format(Ld_s, "00") & ":" & Format(Ld_m, "00")
End FunctionPrivate Sub MMControl1_Done(NotifyCode As Integer) 'MCI 命令結束時發生。
MMControl1.UpdateInterval = 100 ' 間隔100毫秒
End SubPrivate Sub MnuClose_Click() '結束
MMControl1.Command = "Stop"
End SubPrivate Sub Paly_Click() '播放
MMControl1.Command = "Play" ' 繼續播放
End SubPrivate Sub stop_Click() '暫停
MMControl1.Command = "Pause" ' 暫停播放
End SubPrivate Sub PalyMusic(FileName As String) '播放指定路徑的音樂
MMControl1.Notify = False '不產生Done事件。
MMControl1.Wait = True '等到下壹個 MCI 命令完成
MMControl1.Shareable = False '其它控件或應用程序不能訪問這臺設備
MMControl1.FileName = FileName
MMControl1.Command = "Open" ' 打開 MCI 設備。
MnuClose.Enabled = True
Slider1.Visible = True
End Sub