Как сделать так, чтобы флэш-версия проигрывателя была приостановлена, когда веб-страница потеряла фокус? - PullRequest
0 голосов
/ 05 октября 2018

Я создал страницу для воспроизведения содержимого HLS на большинстве платформ, по умолчанию использую HTML5 video + HLS.js и откат к флеш-версии проигрывателя (Grind Player), если MSE не поддерживается.

I'mпытается остановить воспроизведение видео тега, когда пользователь переключается на другую вкладку или другую программу.Прочитав некоторые ответы на подобные вопросы, я использовал следующий код:

function PauseVideo() {
    if (isFlashPlayerUsed) {
        var isPlaying = player.getPlaying();
        AddLog("player.playing: " + isPlaying);

        if (isPlaying)
            player.pause();
    }
    else {
        AddLog("player.paused: " + player.paused);

        if (!player.paused)
            player.pause();
    }
}

$(window).on("blur", function (e) {
    AddLog("window.blur fired.");
    PauseVideo();
});

$(window).on("focusout", function (e) {
    AddLog("window.focusout fired.");
    PauseVideo();
});

$(document).on("visibilityChange", function (e) {
    AddLog("document.visibilityChange fired.");

    if (document.visibilityState == "hidden")
        PauseVideo();
});

Однако я обнаружил, что в Internet Explorer 11 в Windows 7 используется Flash-версия проигрывателя, и при щелчке по файлу запускается window.blur.ничего, кроме самого плеера, даже если он находится на той же странице, но не срабатывает, если плейер находится в фокусе, и я щелкнул другую программу.

Как убедиться, что видео всегда останавливается, когда окно или вкладка теряютсяфокус, даже если используется флэш-версия плеера?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...