Como reproduzir automaticamente um vídeo do YouTube (API do IFrame) sem som?

<br /> 

O vídeo não está mudo! Eu quero que o volume seja 0 quando ele toca pela primeira vez …

O YouTube não fornece o parâmetro de URL de bloqueio (consulte http://code.google.com/apis/youtube/player_parameters.html ).

Você tem que usar o javascript para isso. veja http://code.google.com/apis/youtube/js_api_reference.html para mais detalhes.

No entanto, observe o aviso na página vinculada acima: “A depreciação da API do YouTube JavaScript Player foi anunciada em 27 de janeiro de 2015. As incorporações do YouTube Flash também foram reprovadas. Consulte a política de descontinuação para obter mais informações. Migre seus aplicativos para a API do IFrame, que pode usar inteligentemente qualquer player incorporado – HTML () ou Flash () – que o cliente suporta. ”

Html

  

Por favor, note enablejsapi = 1 na url.

Javascript

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

Atualizar

O código anterior tinha alguns problemas e não funcionava com a API atual (a syntax do playerVars estava errada). Aqui está o código atualizado. Você pode precisar mexer nos parâmetros que você precisa.

 

O player_api será suspenso em 25 de junho de 2015. Para reproduzir vídeos do YouTube, há um novo api IFRAME_API

Parece o seguinte código:

  

Tente isso está funcionando bem

    

Você pode selecionar o player de vídeo e definir seu volume:

 var mp = iframe.getElementById('movie_player'); mp.setVolume(0); 

Fonte: http://userscripts.org/scripts/review/49366

A resposta aceita funciona muito bem. Eu queria mais controle, então adicionei mais algumas funções ao script:

 function unmuteVideo() { player.unMute(); return false; } function muteVideo() { player.mute(); return false; } function setVolumeVideo(volume) { player.setVolume(volume); return false; } 

E aqui está o HTML:

 


Agora você tem mais controle do som … Verifique o URL de referência para saber mais:

API do YouTube IFrame Player

 var video1; function onYouTubeIframeAPIReady(){ player = new YT.Player("video1", { videoId: "id-number", width: 300, height: 200, playerVars: { "autoplay": 1, // and 0 means off "controls": 1, "showinfo": 0, "modestbranding": 0, "loop": 1, "fs": 0, "cc_load_policy": 0, "iv_load_policy": 3, }, events: { 'onReady': onPlayerReady } }); } function onPlayerReady(event) { event.target.mute(); event.target.setVolume(0); //this can be set from 0 to 100 }