Нет поиска на мобильных устройствах (Vimeo)

У меня есть два вопроса. Я хочу отключить функцию поиска в моем проигрывателе 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 также должно работать. Может кто-нибудь, пожалуйста, дайте мне совет, что я делаю неправильно?

Большое спасибо, Даниэль


person Daniel    schedule 26.08.2014    source источник


Ответы (1)


Попробуйте объявить переменную old_time в том же разделе, что и переменные iframe, player и seeked.

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