注册 登录
编程论坛 VB6论坛

新手求教!关于wmp播放文件的问题

肇励影 发布于 2017-02-01 21:22, 1493 次点击
我打算用wmp做一个音乐播放器,怎样判断wmp已经播放完一首歌曲呢?
(注:我曾经在有效的钟中把controls.currentPosition=currentMedia.duration作为判断依据,但是歌曲播放完成以后无法执行条件。代码如下:)
程序代码:
If WMP1.currentMedia.duration = WMP1.Controls.CurrentPosition And WMP1.currentMedia.duration <> 0 Then
    Select Case PlayMode
        Case 1 '单曲循环
            Call PlayMusic(PlayNowIndex)
        Case 2 '全部循环
            Call Picture3_Click
        Case 3 '顺序播放
            If PlayNowIndex = List1.ListCount Then
                '最后一首歌曲
                WMP1.Controls.Stop
                Label2.Caption = "00:00/00:00"
            Else
                '不是最后一首歌曲
                Call Picture3_Click
            End If
        Case 4 '随机播放
            Dim RandIndex As Long
            Randomize
            RandIndex = Int(Rnd * List1.ListCount) + 1
            Call PlayMusic(RandIndex)
            Debug.Print "RandIndex=" & RandIndex
    End Select
End If

2 回复
#2
xzlxzlxzl2017-02-01 22:01
在PlayStateChange事件中判断播放是否停止,如下述代码会在播出结束后显示"ok"消息,将msgbox的处理改成你自己需要的操作就可以了。
Private Sub WMP1_PlayStateChange(ByVal NewState As Long)
  If NewState = 1 Then MsgBox "ok"
End Sub
#3
ZHRXJR2017-02-03 12:49
我刚刚做的“WindowsMediaPlayer控件属性方法与事件”一个小程序,希望对你有帮助。
在这里:https://bbs.bccn.net/thread-473948-1-1.html
1