使用Youtube API通过播放另一个来停止视频

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Youtube API通过播放另一个来停止视频相关的知识,希望对你有一定的参考价值。

当我在同一页面上播放另一个视频时,我试图停止etbed youtube视频,我发现:stackoverflow fiddle-example但是当我尝试在我的网页上使用它时它不起作用:my_test

脚本

<script>
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

function onYouTubeIframeAPIReady() {
    var $ = jQuery;
    var players = [];
    $('iframe').filter(function(){return this.src.indexOf('http://www.youtube.com/') == 0}).each( function (k, v) {
        if (!this.id) { this.id='embeddedvideoiframe' + k }
        players.push(new YT.Player(this.id, {
            events: {
                'onStateChange': function(event) {
                    if (event.data == YT.PlayerState.PLAYING) {
                        $.each(players, function(k, v) {
                            if (this.getIframe().id != event.target.getIframe().id) {
                                this.pauseVideo();
                            }
                        });
                    }
                }
            }
        }))
    });
}
</script>

html

One: 
<iframe frameborder="0" allowfullscreen="1" title="YouTube video     player" width="160" height="100" src="http://www.youtube.com/embed    /zXV8GMSc5Vg?enablejsapi=1&amp;origin=http%3A%2F%2Ffiddle.jshell.net">    </iframe>
<br/>
Two:
<iframe frameborder="0" allowfullscreen="1" title="YouTube video player" width="160" height="100" src="http://www.youtube.com/embed/LTy0TzA_4DQ?enablejsapi=1&amp;origin=http%3A%2F%2Ffiddle.jshell.net">    </iframe>

怎么了?我在谷歌开发者上创建了这个项目,我已经创建了API密钥,但我不知道我必须把它放在哪里。

答案

你忘了添加jquery lib(https://code.jquery.com/

另一答案

已解决问题是,在示例中,他们使用了“origin”参数,如果设置此参数,则可以避免将恶意第三方javascript代码引入页面,这可以控制YouTube播放器。

SRC = “http://www.youtube.com/embed/LTy0TzA_4DQ?enablejsapi=1&origin=http%3A%2F%2Ffiddle.jshell.net”

这就是为什么代码在小提琴页面上工作但不在我的工作。所以我用主页的完整URL改变了这个原始路径,现在它可以工作了!

以上是关于使用Youtube API通过播放另一个来停止视频的主要内容,如果未能解决你的问题,请参考以下文章

播放另一个嵌入的 YouTube iframe 时停止

使用 Youtube Iframe API 创建的视频播放器停止使用 Chrome v.85

Youtube API 未构建 iFrame

Sencha Touch2 当我转到另一个页面时停止 YouTube 视频

保持两个 YouTube 视频彼此同步

如何使用 Youtube API 访问特定播放列表中的所有视频?