已经搞定了,只是状态处理逻辑出了点问题。应该在播放器关闭之前,也就是说在播完一首歌后,偿试寻找下一首歌时改变其FileName属性。
修改后的代码如下:
<Script Language=VBScript>
Dim OS,PS
Sub TitleLst_OnChange()
WMPlay.FileName="rtnurl.asp?fid="&TitleLst.value
gecishow.location.href="geci.asp?fid="&TitleLst.value
End SubSub PlayStateChange()
IF WMPlay.OpenState=6 AND WMPlay.PlayState=3 AND OS=6 AND PS=0 Then '改了这句
'准备换曲前的最后一次状态改变
IF TitleLst.SelectedIndex<TitleLst.Options.Length-1 Then
TitleLst.SelectedIndex=TitleLst.SelectedIndex+1
Call TitleLst_OnChange()
ElseIF TitleLst.SelectedIndex>=TitleLst.Options.Length-1 AND Cycle.Checked Then
TitleLst.SelectedIndex=0
Call TitleLst_OnChange()
End IF
End IF
OS=WMPlay.OpenState
PS=WMPlay.PlayState
End Sub
</Script>
修改后的代码如下:
<Script Language=VBScript>
Dim OS,PS
Sub TitleLst_OnChange()
WMPlay.FileName="rtnurl.asp?fid="&TitleLst.value
gecishow.location.href="geci.asp?fid="&TitleLst.value
End SubSub PlayStateChange()
IF WMPlay.OpenState=6 AND WMPlay.PlayState=3 AND OS=6 AND PS=0 Then '改了这句
'准备换曲前的最后一次状态改变
IF TitleLst.SelectedIndex<TitleLst.Options.Length-1 Then
TitleLst.SelectedIndex=TitleLst.SelectedIndex+1
Call TitleLst_OnChange()
ElseIF TitleLst.SelectedIndex>=TitleLst.Options.Length-1 AND Cycle.Checked Then
TitleLst.SelectedIndex=0
Call TitleLst_OnChange()
End IF
End IF
OS=WMPlay.OpenState
PS=WMPlay.PlayState
End Sub
</Script>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货