如何将YouTube视频取消静音(并关闭自动播放)二十七年?

时间:2018-01-21 01:10:33

标签: wordpress wordpress-theming child-theming twentyseventeen

我有a lecture on YouTube我想用作my twentyseventeen child themed website.的标题电影我希望它有声音且没有自动播放。 (在Youtube上观看,视频声音完好无损。)

关于[关于自动播放的此问题],我会发送https://www.youtube.com/watch?v=1dYAYBNU6qM&autoplay=0的视频网址。该行为似乎没有改变。它会立即启动,但声音会静音。

如果用户点击“播放”按钮,二十七岁的时候,如果媒体文件开始暂停,并开始播放声音,该怎么办?

谢谢,

1 个答案:

答案 0 :(得分:4)

您可以使用global对象wp来访问youtube播放器功能。 twentyseventeen theme中的Youtube视频加载wp-custom-header.js文件并在384行中创建新对象。

以下是您可以使用的解决方案:

var ww_timer = setTimeout(function ww_video() {
    if(wp.customHeader.handlers.youtube.player == null){
        ww_timer = setTimeout(ww_video, 50);
    }else {
        if(typeof wp.customHeader.handlers.youtube.player.unMute === "function") {
            wp.customHeader.handlers.youtube.player.unMute();
            wp.customHeader.handlers.youtube.player.stopVideo();
        }else{
            ww_timer = setTimeout(ww_video, 50);
        }
    }
}, 50);

此代码转到my_js.js文件(我在活动子主题的主目录中创建它。您可以将此代码添加到活动子主题的另一个.js(如果有的话)。此外,我们需要使用以下代码更新functions.php文件:

function ww_youtube_functions(){
  wp_enqueue_script('ww_youtube_video',get_stylesheet_directory_uri().'/my_js.js',array('wp-custom-header'),false, true);
}
add_action('wp_enqueue_scripts', 'ww_youtube_functions');

此代码的必需部分是array('wp-custom-header'):依赖脚本wp-custom-header排队脚本。

setTimeout不是最佳方式。我相信,它可以通过更优雅的代码来完成。

但是经过测试和运作。