如何自动播放Youtube视频(IFrame API)静音? [英] How do I automatically play a Youtube video (IFrame API) muted?

查看:334
本文介绍了如何自动播放Youtube视频(IFrame API)静音?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

解决方案

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



你必须使用javascript。请参阅 http://code.google.com/apis/youtube/js_api_reference.html详情。



但请注意上面链接页面上的警告:
YouTube JavaScript播放器API的弃用于1月27日公布, 2015.YouTube Flash嵌入也已被弃用。有关详细信息,请参阅弃用政策。请将您的应用程序迁移到IFrame API,它可以智能地使用客户端支持的任何嵌入式播放器 - HTML()或Flash()。 p>

Html

 < iframe class =youtube-playerid = playertype =text / htmlsrc =http://www.youtube.com/embed/JW5meKfy3fY?wmode=opaque&autohide=1&autoplay=1&enablejsapi=1frameborder =0> & lt; br /& gt;< / iframe> 

请注意网址中的enablejsapi = 1.



Javascript

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

更新



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



 < div id = 播放器 >< / DIV> <脚本> // 1.此代码异步加载IFrame Player API代码。 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.此函数创建< iframe> (和YouTube播放器)//下载API代码后。 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',事件:{'onReady':onPlayerReady,'onStateChange':onPlayerStateChange}}); } // 3.当视频播放器准备就绪时,API将调用此函数。 function onPlayerReady(event){event.target.playVideo(); player.mute(); } var done = false; function onPlayerStateChange(event){} function stopVideo(){player.stopVideo(); }< / script>  


<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>

The video isn't muted! I want volume to be 0 when it first plays...

解决方案

Youtube don't provide muting through url parameter (see http://code.google.com/apis/youtube/player_parameters.html).

You have to use javascript for that. see http://code.google.com/apis/youtube/js_api_reference.html for details.

However, please note the warning on the page linked above: "The deprecation of the YouTube JavaScript Player API was announced on January 27, 2015. YouTube Flash embeds have also been deprecated. See the deprecation policy for more information. Please migrate your applications to the IFrame API, which can intelligently use whichever embedded player – HTML () or Flash () – the client supports."

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>

please note enablejsapi=1 in the url.

Javascript

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

Update

Previous code had some issues and did not work with current API (playerVars syntax was wrong). Here is the updated code. You may need to tinker with the parameters you need.

         
    <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>

这篇关于如何自动播放Youtube视频(IFrame API)静音?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆