我有两个问题。我想在我的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元素,该元素在加载边时隐藏。所以我认为搜索事件也应该起作用。有人可以告诉我一些我做错的事吗?
非常感谢, 丹尼尔
答案 0 :(得分:0)
尝试在与iframe,播放器和搜索变量相同的部分中声明old_time变量。
var iframe = $('.media-vimeo-player')[0];
var player = $f(iframe);
var seeked = new Boolean(false);
var old_time = 0;