嵌入Youtube视频 静音开/关按钮
嵌入Youtube视频 静音开/关按钮
我想为我的网站添加一个静音按钮,这样当按下按钮时,背景视频中的音频将会被取消静音/静音。\n我现在有以下的JavaScript代码。是否有办法在这段代码中实现一个按钮?\n
var videos = [ 'D1sZ_vwqwcE', 'BC_Ya4cY8RQ', 'HPc8QMycGno', 'JDglMK9sgIQ', 'hgKDu5pp_fU', 'oKMNj8v2gKE', 'TfnRTifSWh0', 'xO3aB5C3dpQ', 'v5hepekcHkk', '4kjpZ_sPxzc', ]; var index = Math.floor(Math.random() * videos.length); var html = ''; document.write(html);
\n参考网站:https://enph.la
问题的出现原因是需要在嵌入的YouTube视频中添加一个静音开/关按钮。解决方法是使用YouTube API来实现此功能,并提供了一个可以在工作示例中查看的解决方案。
解决方案中的代码如下:
var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); var player; function onYouTubeIframeAPIReady() { player = new YT.Player('youtube-video', { events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerReady() { console.log("hey Im ready"); //do whatever you want here. Like, player.playVideo(); } function onPlayerStateChange() { console.log("my state changed"); } document.getElementById("mute").addEventListener('click', function(event) { console.log(player); if (player.isMuted()) { player.unMute(); } else { player.mute(); } });
CSS代码如下:
#mute { width: 50px; height: 50px; background-color: red; }
HTML代码如下:
Press red square to mute/unmute
这个解决方案使用了YouTube API来创建一个新的YouTube播放器,并添加了一个事件监听器来处理播放器的准备和状态变化事件。在点击红色方块时,通过判断播放器是否已静音来切换静音状态。