【问题标题】:Pausing a Youtube video when you play another video on the same page当您在同一页面上播放另一个视频时暂停 Youtube 视频
【发布时间】:2011-10-29 01:14:22
【问题描述】:

当用户单击视频的缩略图时,我正在使用 Youtube iframe API 动态加载 youtube 视频。当一个视频已经在播放,而用户开始播放另一个视频时,我想暂停已经在播放的第一个视频。

我还想在视频播放完毕后加载下一个视频。

这是我的代码:

loaded_video_array = new Array();

$("div.embed").live('click', function() {

    thumb.removeClass("play-button").addClass("pressed");

    add_embedded_player();

});

function onPlayerStateChange(event) {
    if (event.data == 0){

        $("div.pressed").parents("div.video").next().find("div.embed").click();

    }else if (event.data == 3){

        for (var i=0;i < loaded_video_array.length; i++){
             loaded_video_array[i].pauseVideo();
        }

        loaded_video_array.push(event.target);   
    }
};

【问题讨论】:

    标签: javascript youtube youtube-api


    【解决方案1】:

    每次用户动态加载视频时,将其变量/引用存储在数组中。然后,当开始一个新视频时,只需遍历数组并暂停每个视频。如果它已经暂停,那么没有伤害就没有犯规。这不是最佳做法,但会奏效。

    【讨论】:

    • 如何获取视频的参考?我尝试设置playerapiid 参数,然后调用document.getElementById(apiid).pauseVideo(),但我得到的错误是我在一个空变量上调用该方法。
    • 您能发布播放视频的代码吗?我可以从那里帮助你。
    • 好的,我发布了我的代码并遵循了您的建议。除了有一个大问题外,它有效。我只能在 event.data == 3 时暂停数组中的视频,这是从头开始播放视频的时候。如果用户重播一个已经暂停的视频,它不会为其他视频执行暂停代码...
    猜你喜欢
    • 2019-02-03
    • 1970-01-01
    • 2017-06-23
    • 1970-01-01
    • 2018-05-28
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    相关资源
    最近更新 更多