2010-07-14 38 views
3

我正在为HTML5视频播放器实现回退机制。我有一种方法可以用swfobject Flash播放器替换它,但我应该如何检测是否有任何问题发展?HTML5视频应该何时回落到Flash播放器?

换句话说,如果我们使用下面列出的可以抛出的错误事件,哪一个应该触发Flash播放器的替换?或者,如果发生错误,我们是否应该简单地进行更换?

此外,应该在哪里调用onError处理程序?我正在考虑视频标签,但希望确认。非常感谢您的指导。谢谢。

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; 
    } 
    } 

回答

8

这里的麻烦是许多问题无法通过切换到Flash来解决。事实上,只有当你真正从Flash中获益时,你才能在IE,FF和Opera上播放MP4,而在所有浏览器上播放FLV。 (这显然是受到更改基于对WEBM/Theora的原生支持Flash。)

出于这个原因,我们已经做了JW播放器HTML5如下:

该解决方案并非万无一失,但它可以让您获得90%以上的出路。

最佳,

扎克

开发,长尾视频