在切换播放器的可见性后,YouTube视频无法正常播放

时间:2012-03-26 11:12:12

标签: javascript flash firefox jquery-dialog youtube-javascript-api

我正在使用YouTube JS API在我的网站上播放视频。视频在对话框中播放。当用户关闭对话框时,播放器停止 - player.stopVideo();但是当用户再次点击视频图标时,会出现对话框

  • Chrome 中,视频开始在之前的位置播放 - 确定
  • Firefox ,视频从一开始就开始播放,无论用户上次离开的位置如何。 - 不行

根据我的要求,我希望Chrome的行为与firefox的行为一样。

这是一个小提琴:http://jsfiddle.net/hH3qm/4/

1 个答案:

答案 0 :(得分:0)

问题是由Flash Player在不可见时重置的事实引起的。 Firefox似乎被窃听,因此当它再次启动时它不会返回到正确的位置。要解决此问题,请使用player.cueTo(player.getCurrentTime())

此外,当API方法调用太快时,即在Flash对象准备好之前,会抛出Error calling method on NPObject!。要解决此问题,请推迟通话。

演示:http://jsfiddle.net/hH3qm/13/show/

$("#watch_video_overlay").dialog({ //dialog -jquery ui method
    width: '680',
    height: 'auto',
    modal: true,
    show: 'fade',
    hide: 'fade',
    open: function () {
        if ($.browser.mozilla) {
            setTimeout(function () {
                player.seekTo(player.getCurrentTime());
            },
            1000);
        } else {
            player.playVideo();
        }
    },
    close: function () {
        // Pause it, btw.
        player.pauseVideo();
    }
});