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

Chr*_*ard 5 wordpress wordpress-theming child-theming twentyseventeen

在YouTube上一个演讲,我想用它作为我二十一岁儿童主题网站的标题电影.我希望它有声音,没有自动播放.(在Youtube上观看,视频声音完好无损.)

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

如果用户点击"播放"按钮,如果二十七岁的话,我是否可以选择开始暂停并开始播放的媒体文件?

谢谢,

Sam*_*yan 5

您可以使用global对象wp来访问 YouTube 播放器功能。Youtube 视频twentyseventeen theme加载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);
Run Code Online (Sandbox Code Playgroud)

此代码转到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');
Run Code Online (Sandbox Code Playgroud)

此代码所需的部分是array('wp-custom-header'):将具有脚本依赖性的脚本排入队列wp-custom-header

setTimeout不是最好的方法。我相信,可以用更优雅的代码来完成。

但它经过测试并且有效。