javascript - YouTube API 不会在 Safari(非 iOS)中静音

标签 javascript iframe youtube youtube-api

我已经使用下面的代码初始化了我的播放器。它在 Chrome、FireFox 和 IE 中静音效果很好,但在 Safari 中则不然。 friend 们有什么想法吗?

function onYouTubeIframeAPIReady() {
    player = new YT.Player('iframe-wrapper', {
        height: videoHeight,
        width: videoWidth,
        videoId: id,
        events: {
            'onReady': onPlayerReady
        },
        playerVars: {
            'autoplay': 1,
            'controls': 0,
            'autohide': 1,
            'wmode': 'opaque',
            'showinfo': 0,
            'loop': 1,
            'mute': 1
        }
    });
}
  function onPlayerReady() {
    player.mute();
    player.playVideo();
}

最佳答案

只需在 onPlayerReady() 中添加一些代码:

function onPlayerReady(event) {
event.target.mute();
}

或者您可以创建一个单独的静音函数:

function onMute() {
player.mute();
}

function onUnMute() {
player.unMute();
}

按照youtube api document中的指导代码进行操作和jsfiddle sample .

关于javascript - YouTube API 不会在 Safari(非 iOS)中静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36485939/

相关文章:

javascript - JQuery:在 if-else 之后完成()

javascript - iframe 内的 AngularJS ng-src

javascript - Chrome 通过 iframe 下载文件时出错

javascript - YouTube使用 Node js自动上传

iphone - 将视频从 youtube 应用分享到我在 ios 上的应用

javascript - 在回调中重用变量/对象

javascript - 当我将函数传递给 React.js 中的子组件时,为什么会出现未捕获的 TypeError?

javascript - 在javascript中替换字符串中的多个字符

javascript - 从 Iframe 中的 Ajax 响应加载并运行 JS

javascript - 从已知视频 ID 获取 YouTube 视频标题