我试图嵌入新的iframe版本的YouTube视频,并让它自动播放。

据我所知,没有办法通过修改URL的标志来做到这一点。有办法通过使用JavaScript和API来做到这一点吗?


当前回答

这适用于Chrome,但不适用于Firefox 3.6(警告:RickRoll视频):

<iframe width="420" height="345" src="http://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1" frameborder="0" allowfullscreen></iframe>

iframe嵌入的JavaScript API是存在的,但是仍然作为一个实验特性发布。

更新:iframe API现在完全支持和“创建YT。播放器对象-示例2”展示了如何在JavaScript中设置“自动播放”。

其他回答

2014 iframe嵌入如何嵌入YouTube视频与自动播放和没有建议的视频在剪辑结束

rel=0&amp;autoplay 

下面的例子:。

<iframe width="640" height="360" src="//www.youtube.com/embed/JWgp7Ny3bOo?rel=0&amp;autoplay=1" frameborder="0" allowfullscreen></iframe>

这适用于Chrome,但不适用于Firefox 3.6(警告:RickRoll视频):

<iframe width="420" height="345" src="http://www.youtube.com/embed/oHg5SJYRHA0?autoplay=1" frameborder="0" allowfullscreen></iframe>

iframe嵌入的JavaScript API是存在的,但是仍然作为一个实验特性发布。

更新:iframe API现在完全支持和“创建YT。播放器对象-示例2”展示了如何在JavaScript中设置“自动播放”。

自2018年4月起,谷歌对自动播放政策进行了一些更改。你不仅需要添加autoplay=1作为查询参数,还需要添加allow='autoplay'作为iframe的属性

所以你必须这样做:

<iframe src="https://www.youtube.com/embed/VIDEO_ID?autoplay=1" allow='autoplay'></iframe>

1 -添加&enablejsapi=1到IFRAME SRC

jQuery func:

  $('iframe#your_video')[0].contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*');

工作正常

2018年12月,

寻找一个自动播放,循环,静音youtube视频的反应。

其他答案都不奏效。

我用一个库找到了一个解决方案:react-youtube

class Video extends Component {

    _onReady(event) {
        // add mute
        event.target.mute();
        // add autoplay
        event.target.playVideo();
    }

    render() {
        const opts = {
            width: '100%',
            height: '700px',
            playerVars: {
                // remove video controls 
                controls: 0,
                // remove related video
                rel: 0
            }
        };

        return (
            <YouTube
                videoId="oHg5SJYRHA0"
                opts={opts}
                // add autoplay
                onReady={this._onReady}
                // add loop
                onEnd={this._onReady}
            />
        )
    }

}