2017-01-04 109 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'); 
} 
}); 

此实现可以帮助你控制,只需通过设置静音和取消静音的文本。

希望这会有所帮助。