注册 登录
编程论坛 VB.NET论坛

如何用Timer控件做循环播放的播放器

dyqq1234 发布于 2008-10-24 23:33, 2197 次点击
Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
        If AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsMediaEnded Then
            Timer2.Start()
        End If
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        If AxWindowsMediaPlayer1.status = "已停止" Then
            ListBox1.SelectedIndex += 1
            AxWindowsMediaPlayer1.settings.autoStart = True
            AxWindowsMediaPlayer1.URL = ListBox1.SelectedIndex
            AxWindowsMediaPlayer1.Ctlcontrols.play()
        End If
    End Sub
不知道这个代码是否正确
应该怎么修改啊?急需
3 回复
#2
软编小虫2008-10-25 14:02
对于media player的各种属性我并不太了解,但对你的这段代码好像并不完全对.
因为对于timer2事件中,你用status属性的返回值来判断media player是否插完一首歌曲,如播完,便用LISTBOX.SELECTEDINDEX的自增性来播放下一首歌曲,但所有的歌曲都播完后,你并没有对listbox.selectedindex进行归零,所以这个播放器只能进行一次循环,而并非真正的无限循环.
当然,status属性是否真能返回字符串"已停止"还值得明鉴.

[[it] 本帖最后由 软编小虫 于 2008-10-25 22:12 编辑 [/it]]
#3
dyqq12342008-10-25 16:34
谢谢了
只是不知道应该在哪里进行修改
#4
dyqq12342008-10-25 16:37
补充一句就是可以跳转下一个节目 但是不能进行播放音乐
1