缓冲结束时的Flowplayer事件

时间:2012-02-23 09:48:00

标签: javascript jquery flowplayer buffering http-live-streaming

我正在使用flowplayer在一个网站上播放一个带有H264流媒体插件的NGinx服务器的MP4视频,以及一个用于Flowplayer的伪流媒体插件。一切正常。

我使用$ f()。Seek()方法实现了几个用于深度链接到视频的javascript函数,它也可以正常工作。

这是我的问题:当用户寻找视频中的特定位置时,我需要禁用页面上的某些元素,以防止他或她点击更多次,干扰所有同步。然后,我想在视频重新开始播放时重新启用相同的元素。

此代码禁用元素,并放置在某些按钮的单击事件中。直截了当: $('.cur-left, .cur-right, .book-temps').hide('fast');

此代码启用它们: $('.cur-left, .cur-right, .book-temps').show('fast');

我找不到放置“重新启用”代码的位置,因为在搜索后缓冲后视频重新播放时似乎没有发生任何事件。

任何关于未知事件匹配的建议或以其他方式适合它的技巧都是无价的。

感谢阅读。

1 个答案:

答案 0 :(得分:1)

你需要处理onBufferFull事件:

<!-- player container  -->
<a href="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv" id="player"
    style="display:block;width:425px;height:300px"> 

    <!-- .. with a splash image -->
    <img src="http://static.flowplayer.org/img/home/flow_eye.jpg" alt="Search engine friendly content" /> 
</a>
<div id="info">
</div>

和脚本:

$(function(){
    var info = document.getElementById("info");

    flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf", {

        // this will enable pseudostreaming support 
        plugins: { 
            pseudo: { url: 'flowplayer.pseudostreaming-3.2.7.swf' } 
        },

        // listen to following clip events 
        clip: {        
            // make this clip use pseudostreaming plugin with "provider" property
            provider: 'pseudo',                

            // all videos under this baseUrl support pseudostreaming on the server side        
            url: 'http://pseudo01.hddn.com/vod/demo.flowplayervod/Extremists.flv'            
        },

        onBufferFull: function() {
           info.innerHTML += "buffer full<br/>";
        }                        

    });    
});

参见示例here