解决烦人的Windows Media Player(web嵌入) 不能自动播放
2011-09-05 18:05
567 查看
如果你看到题目感到有点奇怪,那就请你继续读下去吧!
如果你知道param AutoStart 参数可以使视频或音频(以下都将用视频代替)文件在加载后自动播放,那就更该继续看下去了,因为这里指的内容可能会纠正你一个错误的思路,下面正式开始阐述今天的问题。
音乐播放器想必你一定用过,播放完一首音乐是不是想自动切换到下一首呢,当然,这是每个播放器必须的功能。但是如果你是用Windows Media Player(WMP)来做的,估计你一定绕了不少弯路,因为Web嵌入WMP的好多属性着实让人感到头疼。
欲实现的功能很简单就是在当前视频播放完毕时开始自动切换到下一视频继续播放,先让我猜猜你的思路:当WMP的上个视频文件播放结束时,你先重新给WMP的URL赋值,然后开始播放。没错,你的思路是正确的,但是WMP可不一定完全按照你的意思办事,下边先看下这个思路的代码
MediaPlay.attachEvent("PlayStateChange",function(lOldState, lNewState){ switch(lOldState) { case 8://8代表播放视频关闭 //MediaPlay.controls.stop();//这个其实是没用的 MediaPlay.URL="a.wmv";//改为新的视频 MediaPlay.controls.play();//播放视频 break; // case null: // .... //其他你需要捕获的状态 } });
其中MeidaPlay为你嵌入Object对象的ID,用attachEvent来为播放器捕获PlayStateChange事件。
这样的思路看似完美了,但是运行效果却没有想象的好,播放器会在播放完上一个视频的同时停止,状态显示为“正在获取视频信息”,这时只有用户手动的点击播放按钮,视频才会继续播放下一个你新添加的视频。
那么,怎样才可以自动播放呢?先看代码:
MediaPlay.attachEvent("PlayStateChange",function(lOldState, lNewState){ switch(lOldState) { case 8: MeidaPlay.URL="a.wmv"; window.setTimeout("MediaPlay.controls.play()",500);//关键在这 break; } });
修改简单吧,这样就可以自动播放了。
到底为什么呢?答案是Play方法是异步的只有在播放器的所有进程都结束时才会执行,所以在播放视频关闭时play方法是不起作用的。网上还有一些资料说可以用open方法因为这个方法是同步的,但我试了没有效果,不知道你有没有更好的办法,请告知!
顺便说一下微软的东西实在太可怕了,单单就这个问题困扰了我好久,因为官方没有这方面的解释,而且好多官方的好多方法都不正确,唉,只能我们自己摸索了!
相关文章推荐
- Windows Media Player 11不能播放网络流媒体wmv问题的解决
- Windows Media Player进度条无法自动播放的解决方法
- 解决Windows Media Player播放无声或声音过快问题
- Windows Media Player播放文件时遇到问题的解决办法
- 关于Windows Media Player 不能播放 动态VBR编码的mp3文件
- Android Webview中解决H5的音视频不能自动播放的问题
- Android Webview中解决H5的音视频不能自动播放的问题
- Windows Media Player安装了却不能播放网页上的视频
- Windows Media Player 12不能播放MMS
- Android Webview中解决H5的音视频不能自动播放、只有声音没有图像的问题
- 在Web 页中嵌入Windows Media Player
- 如何让windows media player 自动播放视频文件
- Windows Media Player 12不能播放MMS
- MediaPlayer + SurfaceView 切换出再回来时,不能继续播放问题的解决
- 关于Windows Media Player 不能播放 动态VBR编码的mp3文件
- 装完Windows Media Player 11后PPlive不能播放,以及Windows Media Player 11不能卸载的问题
- 解决安装SP3后,Window Media Player 播放器不能播放的问题
- web网站嵌入视频却不能播放的解决办法
- AxWindowsMediaPlayer播放后自动全屏
- Windows Media Player播放AVI视频文件时,只有声音,没有图像,问题解决