У меня есть два вопроса. Я хочу отключить функцию поиска в моем проигрывателе 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);
С помощью этого кода текущее время будет сохранено в переменной ("old_time"). Если пользователь ищет видео, проигрыватель вернется к последнему старому времени. На рабочем столе этот код работает в основном нормально. Но иногда игрок возвращается к началу вместо позиции «old_time». Может кто-нибудь объяснить это поведение, пожалуйста?
Кроме того — и это более важный вопрос — этот код не полностью работает на мобильном устройстве. Когда я нажимаю кнопку воспроизведения, видео переходит в полноэкранный режим с помощью видеоплеера смартфона по умолчанию. Я могу искать позицию там, где хочу, и игрок ищет эту позицию вместо того, чтобы вернуться к позиции «old_time». Сначала я подумал, что это происходит из-за того, что Vimeo Javascript API не поддерживает функцию поиска в мобильном проигрывателе HTML (см. https://developer.vimeo.com/player/js-api#event-compatibility), но потом я понял, что событие завершения работает нормально: после окончания видео браузер закрыл полноэкранный режим и отображает элемент img, который был скрыт при загрузке стороны. Поэтому я предполагаю, что событие seek также должно работать. Может кто-нибудь, пожалуйста, дайте мне совет, что я делаю неправильно?
Большое спасибо, Даниэль