已经搞定了,只是状态处理逻辑出了点问题。应该在播放器关闭之前,也就是说在播完一首歌后,偿试寻找下一首歌时改变其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>