太让我不解了!!!
先看看两段代码:
代码1
Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
If e.newState = WMPLib.WMPPlayState.wmppsStopped Then
Me.ListBox1.SetSelected(Me.ListBox1.SelectedIndex + 1, True)
Me.AxWindowsMediaPlayer1.URL = Me.ListBox1.SelectedItem
MessageBox.Show(Me.ListBox1.SelectedItem)
Me.AxWindowsMediaPlayer1.Ctlcontrols.play()
End If
End Sub
代码2
Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
If e.newState = WMPLib.WMPPlayState.wmppsStopped Then
Me.ListBox1.SetSelected(Me.ListBox1.SelectedIndex + 1, True)
Me.AxWindowsMediaPlayer1.URL = Me.ListBox1.SelectedItem
Me.AxWindowsMediaPlayer1.Ctlcontrols.play()
End If
End Sub
本来我想用代码2来实现顺序播放的问题,当播放列表的这首歌播放完毕时,通过这段代码再接着播放列表中的下首歌。
奇怪的是,代码2 Me.AxWindowsMediaPlayer1.Ctlcontrols.play()没有反应,断点Me.AxWindowsMediaPlayer1.URL = Me.ListBox1.SelectedItem,发现url
确实是下首歌的完整路径,上首歌播完时也能自动跳到下首歌,可是没有播放了。想了很长时间,不知道怎么回事。
我以为Me.AxWindowsMediaPlayer1.Ctlcontrols.play()就没被执行过,可是如代码1,我加了messagebox想看看是不是程序到Me.AxWindowsMediaPlayer1.URL = Me.ListBox1.SelectedItem,就exit sub了,结果不是,messagebox能正常弹出,而且居然播放没问题了,下首歌能够自动播放了。
我不知道这究竟是怎么回事,大家帮忙看看啊。
[解决办法]
请看你的消息,
http://webim.csdn.net/Messages/tjficcbw.ashx