1

我有一个使用以下代码嵌入的视频:

<video controls='false' preload='true' 
        onplay='doPlayEvent()' 
        onpause='doPauseEvent()'
        onended='doEndEvent()';
        src='/the_video.mp4' 
        id='VideoID'>
    <source type='video/mp4' src='/the_video.mp4'></source>
    <source type='video/ogg' src='/the_video.ogg'></source>
    <source type='video/webm' src='/the_video.webm'></source>
</video>

一些奇怪的行为是 FireFox 正在播放 flash 后备更重要的是 onplay、pause 和 end 事件在 FF 或 IE8 中没有触发(我假设任何使用 flash 的东西)。

有谁知道我缺少什么来启用 Flash 中的事件?

4

1 回答 1

4

对于 onplay、onpause 等,要在 flash 后备中工作,您需要将事件侦听器添加到创建 MediaElement 的 JavaScript 中,例如

mediaElement = new MediaElementPlayer('video',{
    //options etc

    // method that fires when the Flash or Silverlight object is ready
    success: function (mediaElement, domObject) {   

       // add event listeners
       mediaElement.addEventListener('timeupdate', function(e) {
           onVideoTimeUpdate(e);
       }, false);

       mediaElement.addEventListener('pause', function(e) {
           onVideoPaused(e);
       }, false);

       mediaElement.addEventListener('play', function(e) {
           onVideoPlayed(e);
       }, false);

       //etc
   }
于 2012-09-20T10:42:52.470 回答