我正在致力于为 HTML5 视频播放器实现后备机制。我有办法用 swfobject Flash 播放器替换它,但我应该如何检测是否出现任何问题?
换句话说,如果我们使用以下可以抛出的错误事件列表,哪一个应该触发 Flash 播放器替换?或者如果抛出任何错误,我们应该简单地进行替换吗?
另外,onError 处理程序应该在哪里调用?我正在考虑video标签,但想确定一下。非常感谢您的指导。谢谢。
function failed(e) {
// video playback failed - show a message saying why
switch (e.target.error.code) {
case e.target.error.MEDIA_ERR_ABORTED:
alert('You aborted the video playback.');
break;
case e.target.error.MEDIA_ERR_NETWORK:
alert('A network error caused the video download to fail part-way.');
break;
case e.target.error.MEDIA_ERR_DECODE:
alert('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.');
break;
case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:
alert('The video could not be loaded, either because the server or network failed or because the format is not supported.');
break;
default:
alert('An unknown error occurred.');
break;
}
}
这里的问题是,许多问题无法通过切换到 Flash 来解决。事实上,只有当您在 IE、FF 和 Opera 中播放 MP4 时,以及在所有浏览器中播放 FLV 时,切换到 Flash 才能让您真正受益。 (这显然会根据 webm / Theora 的原生 Flash 支持而发生变化。)
为此,我们对 HTML5 的 JW Player 进行了以下操作:
-
询问浏览器是否可以播放该文件.
- 如果浏览器无法播放该文件,根据文件扩展名检查 Flash 支持的文件类型列表.
- 如果 Flash 无法播放该文件,请提供下载链接。
此解决方案并非万无一失,但它可以让您完成 90% 以上的工作。
Best,
Zach
长尾视频开发者
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)