Остановить воспроизведение html5-видео и проигрывателя swf, когда вкладка не в фокусе - PullRequest
0 голосов
/ 31 августа 2011

Я использую видео html5 (html5media.com) внутри вкладки (вкладки пользовательского интерфейса jQuery).Когда видео воспроизводится в старых браузерах IE, оно возвращается к Flowplayer (SWF-плеер).

Моя проблема заключается в том, что всякий раз, когда я выбираю другую вкладку, видео продолжает воспроизводиться, когда не в фокусе.

Спасибо за то, что кто-то помог мне раньше, мне удалось воспроизвести паузу видео ввсе браузеры, кроме IE 8 и старше при использовании этого синтаксиса ниже:

JS:

$('#tabs').tabs({
    select: function(event, ui) {
        if (ui.tab.id != 'videos') {
        $("#myvid")[0].pause();
        }
    }
});

Кроме того, вот мой HTML:

<div id="videos"> 
<div id="VideoContainer"> 
<video id="myvid" poster="img/poster-showreel.jpg" width="470" height="265" fullscreen="true" controls preload> 
<source src="showreel.mp4"></source> 
<source src="showreel.webm"></source> 
</video> 
</div> 
</div> 

Проблема в том, что сейчасIE возвращает ошибку («Объект не поддерживает это свойство…»), поскольку он использует проигрыватель на основе флэш-памяти.

Как можно остановить воспроизведение видео (во всех браузерах), когда вкладкабольше не выбран или не в фокусе?

-
Если вы модератор, который хочет удалить это сообщение, объясните, почему.Я считаю, что это законный вопрос, по которому я не нашел прямого ответа, который охватывал бы решение для всех браузеров.

Ответы [ 2 ]

0 голосов
/ 31 августа 2011

Вы можете все еще получить ошибку, если вы сделаете оба вызова ... добавьте проверку для SWF.

$('#tabs').tabs({
        select: function(event, ui) {
            if (ui.tab.id != 'videos') {
              if ( $("'"+ui.tab.id+" object'").length >= 1 ){ 
                // get a handle to the flowplayer and stop it
                $f().stop();
              } else {
                $("#myvid")[0].pause();
              }
            }
        }
    });
0 голосов
/ 31 августа 2011

Вам также придется остановить флеш-плеер, используя javascript.Flowplayer поставляется с собственным API-интерфейсом, который после включения на вашем сайте позволит вам изменять флэш-видео напрямую через JavaScript.Зайдите сюда , скачайте файл и включите его в заголовок.Как только это будет сделано, вы можете добавить строку в свой javascript, чтобы также остановить проигрыватель:

$('#tabs').tabs({
    select: function(event, ui) {
        if (ui.tab.id != 'videos') {
        $("#myvid")[0].pause();
        // get a handle to the flowplayer and stop it
        $f().stop();
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...