您是否可以在不启用自动播放的情况下隐藏YouTube嵌入的控件?

Joe*_*son 50 youtube

<iframe width="100%" height="100%" src="//www.youtube.com/embed/qUJYqhKZrwA?autoplay=1&showinfo=0&controls=0" frameborder="0" allowfullscreen>
Run Code Online (Sandbox Code Playgroud)

如果删除?autoplay = 1,则视频无效.看起来你不能在没有启用自动播放的情况下使用controls参数.

不确定为什么在YouTube嵌入式写作中没有提到这一点.

希望我错了.

https://developers.google.com/youtube/player_parameters#controls

Ali*_*ice 113

设置自动播放= 0

<iframe width="100%" height="100%" src="//www.youtube.com/embed/qUJYqhKZrwA?autoplay=0&showinfo=0&controls=0" frameborder="0" allowfullscreen>
Run Code Online (Sandbox Code Playgroud)

如下所示:Autoplay = 0测试

  • 注意:这似乎不再起作用。YouTube 很可能已经更改了他们的 API - 不确定当前的替代方案/修复程序是什么。 (4认同)
  • `showinfo` 已弃用,请参阅文档修订历史公告 - [链接](https://developers.google.com/youtube/player_parameters) (2认同)

Jon*_*onn 12

要继续使用iframe YouTube,您只需更改?autoplay=1?autoplay=0.

另一种实现此目的的方法是使用YouTube JavaScript Player API.(https://developers.google.com/youtube/js_api_reference)

修改:不再支持YouTube JavaScript播放器API.

<div id="howToVideo"></div>

<script type="application/javascript">

    var ga = document.createElement('script');
    ga.type = 'text/javascript';
    ga.async = false;
    ga.src = 'http://www.youtube.com/player_api';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(ga, s);

    var done = false;
    var player;

    function onYouTubePlayerAPIReady() {
        player = new YT.Player('howToVideo', {
            height: '390',
            width: '640',
            videoId: 'qUJYqhKZrwA',
        playerVars: {
            controls: 0,
            disablekb: 1
        },
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
    }
    function onPlayerReady(evt) {
        console.log('onPlayerReady', evt);
    }
    function onPlayerStateChange(evt) {
        console.log('onPlayerStateChange', evt);
        if (evt.data == YT.PlayerState.PLAYING && !done) {
            setTimeout(stopVideo, 6000);
            done = true;
        }
    }

    function stopVideo() {
        console.log('stopVideo');
        player.stopVideo();
    }

</script>
Run Code Online (Sandbox Code Playgroud)

这是一个jsfiddle的例子:http://jsfiddle.net/fgkrj/

请注意,播放器控件在播放器的"playerVars"部分禁用.您做出的一个牺牲就是用户仍然可以通过点击暂停视频.我建议写一个简单的javascript函数订阅停止事件和调用player.playVideo().


Aje*_*jey 8

使用 autoplay=0

自动播放需要2个值.

Values: 0 or 1. Default is 0. Sets whether or not the initial video will autoplay when the player loads.
Run Code Online (Sandbox Code Playgroud)

重要的是

autoplay=0&showinfo=0&controls=0
Run Code Online (Sandbox Code Playgroud)

这是你的问题FIDDLE的演示