我想要media player播放完一段视频后触发一段函数以执行某个动作,试过EndOfStream(),但是没有什么反应,是否还要设置其他的属性?还是其它的事件定义?

解决方案 »

  1.   

    试试PlayStateChange
    停止的时候会触发wmppsMediaEnded
      

  2.   

    wmppsMediaEnded,PlayStateChange如何用?能不能介绍介绍?
    怎么vb不像java那样有详细的说明手册放在网上免费下载查阅?
      

  3.   

    就是PlayStateChange事件。有开始、停止播放这些动作的时候都会触发这个事件的Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)End Sub
      

  4.   

    我是这样写的,
    播放函数
    sub play()
       windowmediaplay1.url="test.asf"
    end sub然后是Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
       msgbox "ok"
    End Sub然后运行play就 "ok"了几次,大概三次吧,那我怎么依靠什么属性的变化,判断是test.asf播放结束?
      

  5.   

    你直接在这里处理就可以了
    比如你这里要放下一首歌曲
    你就可以这么写
    Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
      windowmediaplay1.url="test1.asf"
    End Sub
    如果你要停止 
    那就不处理
      

  6.   

    我不是要播放下一首,是有其他的代码要运行,
    我一触发我写的play(),这个PlayStateChange就开始运行了,而且在播放结束前被调用了两三次,真是郁闷...
      

  7.   

    ……Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
      If NewState = wmppsMediaEnded Then
        MsgBox "放完了"
      End If
    End Sub
      

  8.   

    谢谢短袖胸!
    请问媒体播放还有其他控件吗?我在2000下开发的程序,调用wmp.dll,系统装的是wmp9,程序放到98下运行,出现wmp.dll错误。难道只能在98下安装一个wmp9?
      

  9.   

    是的
    98的wmp调用格式和2000的不一样
      

  10.   

    wmp9 for 98 现在有点难找哦
      

  11.   

    我记得98下自带wmp6.0 就是那个很简单的那个windows播放器,那个没有wmp.dll?还是其的一些函数没有?
      

  12.   

    google windows media player 应该会有for win9x的吧.....