没有寻求移动设备(Vimeo)

时间:2014-08-26 20:17:57

标签: vimeo vimeo-api vimeo-player

我有两个问题。我想在我的Vimeo播放器中禁用搜索功能。因此我写了这段代码:

(function($){
    $(document).ready(function(){

        var iframe = $('.media-vimeo-player')[0];
        var player = $f(iframe);
        var seeked = new Boolean(false);

            player.addEvent('ready', function() {

            player.addEvent('finish', onFinish);
            player.addEvent('seek', onSeek);
            player.addEvent('playProgress', onPlayProgress);
        });

            function onFinish(id) {
                $('img').show();
        }

            function onSeek(data, id){
            if(seeked == false){
                seeked = true;
                player.api('seekTo', old_time);
            } else{
            seeked = false;
            }   
        }

            function onPlayProgress(data, id){
                    if(Math.abs(data.seconds - old_time) <= 1.00){
                old_time = data.seconds;
            }
            }
   });  
})(jQuery);

使用此代码,当前时间将保存在变量中(&#34; old_time&#34;)。如果用户搜索视频,播放器将跳回到最近的旧时间。在桌面上,这段代码运行得很好。但有时候玩家会跳回去开始而不是#34; old_time&#34;位置。有人可以解释这种行为吗?

此外 - 这是更重要的问题 - 此代码在移动设备上无法完全运行。当我按下播放按钮时,视频会使用智能手机的默认视频播放器进入全屏模式。我可以在任何我想要寻找的位置找到一个位置,并且玩家寻求这个位置,而不是跳回到&#34; old_time&#34;位置。首先我认为会发生这种情况,因为Vimeo Javascript API并不支持HTML移动播放器上的搜索功能(参见https://developer.vimeo.com/player/js-api#event-compatibility),但后来我意识到,完成事件工作正常:完成后视频浏览器关闭全屏模式并显示img元素,该元素在加载边时隐藏。所以我认为搜索事件也应该起作用。有人可以告诉我一些我做错的事吗?

非常感谢, 丹尼尔

1 个答案:

答案 0 :(得分:0)

尝试在与iframe,播放器和搜索变量相同的部分中声明old_time变量。

var iframe = $('.media-vimeo-player')[0];
var player = $f(iframe);
var seeked = new Boolean(false);
var old_time = 0;