2017-01-04 86 views
0

項目 - >http://codepen.io/urketadic/full/YpLgBX/
問題 - >選項 - >矩陣模式(出現,但在按下時不起作用靜音鍵)。
描述 - >我有沒有src,其隱藏(寬度,高度= 0)的HTML iframe。
如果矩陣模式被然而啓用,此iframe被歸於同網址:的Youtube API,靜音視頻(I幀)

$('#iframe').attr("src","https://www.youtube.com/embed/videoseries?list=PLikZa7q0vpioApkXpyYxsrsng-nIsXBhv&autoplay=1&loop=1"); 

我還增加了靜音按鈕按下時是假設改爲靜音按鈕,也沉默的視頻在上面播放列表播放:

var player; 

function onYouTubeIframeAPIReady() { 
    player = new YT.Player('ytplayer', { 
    height: '0', 
    width: '0', 
    playerVars: { 
     listType:'playlist', 
     list: 'https://www.youtube.com/embed/videoseries?list=PLikZa7q0vpioApkXpyYxsrsng-nIsXBhv' } } 
         )}; 

$('#unmute').on('click', function() { 
    $("#unmute").hide(); 
    $("#mute").show(); 
    player.mute(); 
}); 
$('#mute').on('click', function() { 
    $("#mute").hide(); 
    $("#unmute").show(); 
    player.unmute(); 
    }); 

靜音按鈕確實會更改爲取消靜音按鈕,但播放列表中的視頻不會更改。
有沒有人知道我在這裏做錯了什麼?

編輯:我目前有什麼,是,我只是禁用src attr時,單擊它,並將其返回。這不完全是靜音,因爲它重置了歌曲,但如果我找不到更好的東西,我只是去與此。

+0

在iframe url結尾處加上'&enablejsapi = 1' – Viney

回答

0

請看看http://codepen.io/anon/pen/oBgweY

請注意,這個代碼在HTML部分:

<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: '0', 
     width: '0', 
     playerVars: { 
    listType:'playlist', 
    list: 'PLikZa7q0vpioApkXpyYxsrsng-nIsXBhv' } 

    }); 
    } 
</script> 

這應該是它。

+0

謝謝man ::: :) –

+0

順便說一句,我們把這個放入HTML而不是Javascript的原因是什麼? –

+0

由於這兩行var firstScriptTag = document.getElementsByTagName('script')[0];和firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);文檔中應該有一個腳本標籤。 –

1

從文檔基於 - Changing the player volume

  • player.mute():Void
  • 靜音的玩家。

  • player.unMute():Void

  • 取消靜音播放器。

這些是您在代碼中使用的函數。您可能需要仔細檢查您的實施情況,以查明您遇到的錯誤。

有很多教程,你可以念想 - How to Control YouTube's Video Player with JavaScriptyoutube iframe api - easily create and interact with embedded youtube videos代碼實現:

$('#mute-toggle').on('click', function() { 
var mute_toggle = $(this); 

if(player.isMuted()){ 
player.unMute(); 
mute_toggle.text('volume_up'); 
} 
else{ 
player.mute(); 
mute_toggle.text('volume_off'); 
} 
}); 

此實現可以幫助你控制,只需通過設置靜音和取消靜音的文本。

希望這會有所幫助。