当我尝试恢复JW Player视频时,它从头开始

时间:2013-12-14 06:21:10

标签: javascript jquery jquery-ui jwplayer

我有一个视频暂停,如下所示:

jwplayer('video').onTime(function(event){
                    if ((event.position >= 19 && event.position < 20) || (event.position >= 29 && event.position < 30)){
                        jwplayer('video').pause();
                        $(".container").fadeOut(300);
                    }
                });

然后我的应用程序会隐藏视频的容器,同时还会执行其他操作。 稍后我的应用程序将显示容器然后尝试恢复它。

$(".container").show();
var currentPosition = Math.ceil(jwplayer('video').getPosition());
jwplayer('video').seek(currentPosition);

由于一些奇怪的原因,视频将从头开始。有人知道我做错了吗?

如果我使用控制台并尝试:

$(".container").show();

似乎正在重新启动。我相信“节目”会让它重新开始。

我已经把问题缩小了一点。当jquery从无显示更改为阻止时(作为show方法的一部分),视频将重新启动。

2 个答案:

答案 0 :(得分:3)

可以更容易地将简历位置存储在可从两个位置访问的变量中,并查看绕过getPosition是否可以解决您的问题

var resume_position = 0;
jwplayer('video').onTime(function(event){
    if ((event.position >= 19 && event.position < 20) || (event.position >= 29 && event.position < 30)){
        resume_position = event.position;
        jwplayer('video').pause();
        $(".container").fadeOut(300);
    }
});

...


$(".container").show();
jwplayer('video').seek(resume_position);

答案 1 :(得分:0)

我找到了一个解决方案,它是一些想法的组合。 如果我将视频的自动启动属性设置为false,然后手动启动视频,则似乎可以解决部分问题。

jwplayer('quest-video').setup({
            file: $("#quest-video").text(),
            title: 'Quest for the Golden Shield',
            width: '1000',
            height: '535',
            controls: 'false',
            fallback: 'false',
            mute: 'true',
            autostart: 'false'
        });

 jwplayer('quest-video').play();

然后,当我隐藏并通过将可见性设置为隐藏等来显示它时,它不会重新启动。

感谢您的想法!