切换 HTML5 音频的“静音”属性

Posted

技术标签:

【中文标题】切换 HTML5 音频的“静音”属性【英文标题】:Toggling the 'muted' attribute of HTML5 audio 【发布时间】:2014-05-01 14:43:05 【问题描述】:

我正在尝试创建一个静音/取消静音按钮,我对 jquery 还是很陌生,所以如果有人能给我任何指点,将会很有帮助:

$("#dinner").click(function() 
       var bool = $("#player").muted;
       $("#player").attr("muted",!bool);
);

【问题讨论】:

#player是一个普通的html5 播放器 var bool = $("#player").muted 应该是var bool = $("#player")[0].muted 【参考方案1】:

修复它,“静音”属性实际上是一个属性:

$("#dinner").click(function() 
        var bool = $("#player").prop("muted");
        $("#player").prop("muted",!bool);
);

这也可以通过使用 ES6 箭头函数以及向prop() 提供一个函数来更简洁地完成,该函数接受属性的当前状态作为参数。在这种情况下,代码将如下所示:

$('#dinner').on('click', () => $('#player').prop('muted', (_, muted) => !muted));

【讨论】:

以上是关于切换 HTML5 音频的“静音”属性的主要内容,如果未能解决你的问题,请参考以下文章

我们如何克服 UiWebView/iOS Safari 上 HTML5 视频缺少的静音/音量属性?

如何在html5中自动播放视频

从 HTML5 视频中获取音频

HTML5 VIDEO 标签不播放音频/静音

我无法使用自动策略在 Chrome 上静音

尝试使用 onclick 在 html 视频上切换声音