没有活动时如何立即暂停视频(使用javascript)?

时间:2018-12-13 16:22:27

标签: javascript video-streaming hls http-live-streaming hls.js

我正在制作几个直播视频。当我切换到新标签页并在此处停留一分钟时,前一种标签页中的实时流式视频会被暂停。下面是执行此操作的代码:

// If the live streaming videos get hidden for one minute, it get paused. 

no.visibility': function() {

hiddenTimeout = setTimeout(function () {

    let lens, hash;

    for (hash in lenss) {

        lens = lenss[hash];

        if (lens.loaded && lens.player != undef) {

            if (lens.player.isPlaying()) {

                lens.player.pause();
            }

            if (lens.mjpeg_player != undef) {

                lens.mjpeg_player.pause();
            }
        }
    }

    hiddenTimeout = undef;

}, 60000);
}

在pause()函数中,我有以下代码。我相信(不确定)暂停代码内部有问题,该错误无法使视频立即暂停(尽管出现了暂停标志)。

pause: function() {
    clearTimers();

    if (instance.playing) {
        if (instance.type == "video") {
            if (
                !("readyState " in video) ||
                (video.currentTime > 0 &&
                    !video.paused &&
                    !video.ended &&
                    video.readyState > 2)
            ) {

                if (hls != undef) {

                    hls.stopLoad();
                }

                video.pause();
            }
        }

        playerState = 2;
    }

    target.dataset.mediaPlayback = "pause";

    instance.trigger("pause").instance;
},


问题陈述:

以上代码似乎无法立即暂停视频。 确实出现了暂停标志,但我仍然可以看到视频中发生了一些活动, 出现暂停标志 。几分钟后,视频暂停。

我想知道视频没有立即暂停的原因是什么。代码有什么问题吗?

我相信pause()函数中存在某些问题,该问题不能立即暂停。它显示暂停符号,但活动仍然存在。

0 个答案:

没有答案