HTML5视频应该在什么情况下回退到Flash播放器?

4
我正在实现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;
     }
   }
1个回答

9
这里的问题在于,许多问题无法通过切换到Flash来解决。实际上,只有当您需要播放MP4时,在IE、FF和Opera中切换到Flash才会真正受益,在所有浏览器中播放FLV时也是如此。(这显然取决于Flash对webm / Theora的本机支持。)
出于这个原因,我们为HTML5的JW Player做了以下工作:
- 询问浏览器是否能够播放该文件。 - 如果浏览器不能播放该文件,则检查基于文件扩展名的Flash支持的支持文件类型列表。 - 如果Flash无法播放该文件,则提供下载链接。
这种解决方案并不是万无一失的,但它可以帮助您解决90%以上的问题。
最好的祝福,
Zach
开发人员,LongTail Video

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接