HTMLAudioElement 在 iPod Touch (5.0.1) 上的 Safari 中无法正确静音

问题描述 投票:0回答:2

问题: 我在切换 html5 音频标签上的静音属性时遇到问题。

平台: 仅适用于 iPod Touch (Safari) [iOS 5.0.1]。在 Chrome 中运行良好。

// This code resides in my click binding.
var audios = document.getElementsByTagName('audio')[0];
console.log(audios.muted); // returns false by default
if(audios.muted == true){
  audios.muted = false;
}
else{
  audios.muted = true;
}

在 chrome 中,console.log 将切换 true/false,但是在 iPod 上,它将始终保持 false。

javascript ios html5-audio
2个回答
0
投票

根据docs

在 iOS 设备上,音频电平始终在用户的物理控制之下。 volume 属性在 JavaScript 中不可设置。读取 volume 属性总是返回 1.

看起来你必须使用硬件开关。似乎在 iPhone 上音量开关不会影响 Safaris 音量(默认为铃声音量,除非正在播放声音,然后您可以调整 Safaris 音量),而在 iPod 上,音量开关会影响。

希望这对其他人有帮助。


0
投票

从 Safari 16 开始,它们仍然不允许您通过 javascript 更改音量,但您可以将音频静音。您可以通过在音频对象上将

muted
设置为
true
轻松静音。

const audio = new Audio();
audio.muted = true // mutes audio
audio.muted = false // unmutes audio
© www.soinside.com 2019 - 2024. All rights reserved.