Saltar al contenido

¿Cómo reproduzco automáticamente un video de Youtube (IFrame API) silenciado?

Solución:

Youtube no proporciona silenciamiento a través del parámetro de URL (consulte http://code.google.com/apis/youtube/player_parameters.html).

Tienes que usar javascript para eso. consulte http://code.google.com/apis/youtube/js_api_reference.html para obtener más detalles.

Sin embargo, tenga en cuenta la advertencia en la página vinculada anteriormente: “La desactivación de la API del reproductor de JavaScript de YouTube se anunció el 27 de enero de 2015. Las incrustaciones de YouTube Flash también han quedado obsoletas. Consulte la política de desactivación para obtener más información. Migre sus aplicaciones a la API de IFrame, que puede utilizar de forma inteligente cualquier reproductor integrado, HTML () o Flash (), que admita el cliente “.

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>

tenga en cuenta enablejsapi = 1 en la URL.

Javascript

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

Actualizar

El código anterior tenía algunos problemas y no funcionaba con la API actual (la sintaxis de playerVars era incorrecta). Aquí está el código actualizado. Es posible que deba modificar los parámetros que necesita.

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

El player_api dejará de estar disponible el 25 de junio de 2015. Para reproducir videos de YouTube, hay una nueva API IFRAME_API

Parece el siguiente código:

<!-- 1. The <iframe> (and video player) will replace this <div> tag. -->
<div id="player"></div>

<script>
  // 2. 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);

  // 3. This function creates an <iframe> (and YouTube player)
  //    after the API code downloads.
  var player;
  function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
      height: '390',
      width: '640',
      videoId: 'M7lc1UVf-VE',
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
  }

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

  // 5. The API calls this function when the player's state changes.
  //    The function indicates that when playing a video (state=1),
  //    the player should play for six seconds and then stop.
  var done = false;
  function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING && !done) {
      setTimeout(stopVideo, 6000);
      done = true;
    }
  }
  function stopVideo() {
    player.stopVideo();
  }
</script>

Prueba esto, está funcionando bien

<html><body style="margin:0px;padding:0px;">
        <script type="text/javascript" src="http://www.youtube.com/iframe_api"></script><script type="text/javascript">
                var player;
        function onYouTubeIframeAPIReady()
        {player=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}
        function onPlayerReady(event){player.mute();player.setVolume(0);player.playVideo();}
        </script>
        <iframe id='playerId' type="text/html" width="1280" height="720"
        src="https://www.youtube.com/embed/R52bof3tvZs?enablejsapi=1&rel=0&playsinline=1&autoplay=1&showinfo=0&autohide=1&controls=0&modestbranding=1" frameborder="0">
        </body></html>

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *