javascript - 如何自动静音播放 Youtube 视频 (IFrame API)?

标签 javascript jquery youtube

<iframe class="youtube-player" type="text/html" src="http://www.youtube.com/embed/JW5meKfy3fY?wmode=opaque&autohide=1&autoplay=1&volume=0&vol=0&mute=1" frameborder="0">&lt;br /&gt;</iframe>

视频没有静音!我希望第一次播放时音量为 0...

最佳答案

Youtube 不通过 url 参数提供静音(参见 http://code.google.com/apis/youtube/player_parameters.html)。

你必须为此使用 javascript。见http://code.google.com/apis/youtube/js_api_reference.html了解详情。

但是,请注意上面链接页面上的警告: “YouTube JavaScript Player API 已于 2015 年 1 月 27 日宣布弃用。YouTube Flash 嵌入也已弃用。请参阅弃用政策了解更多信息。请将您的应用程序迁移到 IFrame API,它可以智能地使用任何嵌入式播放器 – HTML() 或 Flash() – 客户端支持。”

HTML

<iframe class="youtube-player" id="player" type="text/html" src="http://www.youtube.com/embed/JW5meKfy3fY?wmode=opaque&autohide=1&autoplay=1&enablejsapi=1" frameborder="0">&lt;br /&gt;</iframe>

请注意 url 中的 enablejsapi=1。

Javascript

var player =  iframe.getElementById('player');
player.mute();

更新

以前的代码有一些问题,不能与当前的 API 一起使用(playerVars 语法错误)。这是更新的代码。您可能需要修改所需的参数。

         
    <div id="player"></div>
    <script>
      // 1. This code loads the IFrame Player API code asynchronously.
      var tag = document.createElement('script');

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

      // 2. This function creates an <iframe> (and YouTube player)
      //    after the API code downloads.
      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '100%',
          width: '100%',
          playerVars: {
                    autoplay: 1,
                    loop: 1,
                    controls: 0,
                    showinfo: 0,
                    autohide: 1,
                    modestbranding: 1,
                    vq: 'hd1080'},
          videoId: '1pzWROvY7gY',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

      // 3. The API will call this function when the video player is ready.
      function onPlayerReady(event) {
        event.target.playVideo();
        player.mute();
      }

      var done = false;
      function onPlayerStateChange(event) {
        
      }
      function stopVideo() {
        player.stopVideo();
      }
    </script>

关于javascript - 如何自动静音播放 Youtube 视频 (IFrame API)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8869372/

相关文章:

javascript - 单击链接时如何刷新特定 div 内容以及链接 id?

api - 特定 channel 中视频的 YouTube 搜索 API 通常没有结果

youtube - 使用JavaScript将视频上传到youtube,而无需登录google

javascript - Blob 构造函数 Safari 问题

javascript - 根据其选定状态更改 knockout.js optionsText

javascript - ES6 计算属性和嵌套模板文字

javascript - AngularJs - 我如何才能仅在答案正确时显示答案

javascript - 表行drop,获取ID和序列

jquery - 如何单独对 jQuery 集合项进行动画处理

html - Youtube 订阅按钮垂直对齐