2016-08-26 24 views
3

YouTube APIをミュートしようとしましたが、ChromeとFirefoxで動作します。これをInternet ExplorerとSafariでどうやって無効にすることもできます。これをJavaScriptで修正する方法はありますか?グーグルで回っているが、これを解決するための適切な答えが見つかりませんでした。Internet Explorer 11とSafariでYouTube APIをミュートする方法

var player; 
 
var player2; 
 

 
function onYouTubeIframeAPIReady(){ 
 
\t player = new YT.Player("video1", { 
 
\t \t videoId: "KKp9g8fTBDQ", 
 
\t \t width: 300, 
 
\t \t height: 200, 
 
\t \t playerVars: { 
 
\t \t \t "autoplay": 1, 
 
\t \t \t "controls": 1, 
 
\t \t \t "showinfo": 0, 
 
\t \t \t "modestbranding": 0, 
 
\t \t \t "loop": 1, 
 
\t \t \t "fs": 0, 
 
\t \t \t "cc_load_policy": 0, 
 
\t \t \t "iv_load_policy": 3, 
 
      "mute": 1 
 
\t \t \t }, 
 
\t \t events: { 
 
\t \t  "onReady": onPlayerReady 
 
\t \t } 
 
\t }); 
 
\t player2 = new YT.Player("video2", { 
 
\t \t videoId: "O5-o0DpB6z0", 
 
\t \t width: 300, 
 
\t \t height: 200, 
 
\t \t playerVars: { 
 
\t \t \t "autoplay": 1, 
 
\t \t \t "controls": 1, 
 
\t \t \t "showinfo": 0, 
 
\t \t \t "modestbranding": 0, 
 
\t \t \t "loop": 1, 
 
\t \t \t "fs": 0, 
 
\t \t \t "cc_load_policy": 0, 
 
\t \t \t "iv_load_policy": 3, 
 
      "mute": 1 
 
\t \t }, 
 
\t \t events: { 
 
\t \t  "onReady": onPlayerReady 
 
\t \t } 
 
\t }); 
 
} 
 

 
function onPlayerReady(event) { 
 
    \t event.target.setPlaybackQuality("hd1080"); 
 
    event.target.setVolume(50); 
 
    player.mute(); 
 
} 
 

 
//tried these options as well, but nothing works. 
 

 
var video1 = document.getElementById("video1"); 
 
var video2 = document.getElementById("video2"); 
 

 
video1.mute(); 
 
video2.mute(); 
 

 
video1.volume = 0.0; 
 
video2.volume = 0.0;

答えて

1

の代わりにあなたがevent.target.mute()を使用する必要がありますonPlayerReady関数内でplayer.mute();を使用。このようにして、onPlayerReadyコールバックが呼び出された特定のビデオに関連するmute関数を呼び出します。
http://codepen.io/anon/pen/kXOXWo

(それが原因クロス起源とiframeにIEでcodepen内部では動作しませんが、コードはクロム、Firefoxの、IEとSafariの両方で確認し、すべてれた:ここでは

が働いcodepenされます作業)。何らかの理由で

更新

mute()オプションと一緒に "autoplay": 1を使用して - あなたは ieあなたのビデオでリフレッシュを行うすべての数回は、まだミュートではありません。
http://codepen.io/anon/pen/NAQXar

希望私は、ビデオの音量を設定した場合、今、それは:)

+0

に動作します:私はこれを見つけ解決策は、これは完全なcodepenある

function onPlayerReady(event) { event.target.mute(); event.target.playVideo(); } 

と一緒"autoplay": 0を設定することでした例えば50%に設定すると、IEブラウザをリフレッシュするとサウンドはミュートされません。 –

+0

説明できますか? 「ビデオの音量を50%に設定するとどういう意味ですか?どこ?どこ?どうやって? – Dekel

+0

IE 11ブラウザでウェブサイトを開くと、ビデオのボリュームを手作業で50%に設定します。 IEブラウザをリフレッシュすると、サウンドは残念ながらミュートされません。 –

関連する問題