音量关闭在 html5 视频 ipad 2 中不起作用

Posted

技术标签:

【中文标题】音量关闭在 html5 视频 ipad 2 中不起作用【英文标题】:volume off does not work in html5 video ipad 2 【发布时间】:2013-04-01 21:15:56 【问题描述】:

html5 video ipad 2 中无法关闭音量。

player = document.getElementById(element_id);
if (player.muted)
    player.muted = false;
    player.volume = 1;
    //player.volume(1);
else
    player.muted = true;
    player.volume = 0;
    //player.volume(0);

【问题讨论】:

【参考方案1】:

恐怕 ios 不允许使用 javascript 更改音量。来自 Apple 的 documentation(重点是我的):

在桌面上,您可以设置和读取一个或元素的音量属性。这允许您设置元素的音量相对于计算机的当前音量设置。值 1 以正常级别播放声音。值为 0 会使音频静音。 0 到 1 之间的值会衰减音频。

这种音量调整很有用,因为它允许用户将游戏静音,例如,在计算机上听音乐的同时。

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

没有提到muted 属性,但实验表明它也无法更改: http://jsbin.com/anikab/1/

【讨论】:

【参考方案2】:

通过执行以下操作,我已经能够实现这样的目标:

要静音,请删除整个元素。如果您使用的是 jquery,则可以轻松完成。

$('#audio-elem').remove();

要取消静音,只需将其重新添加!

$('body').append('');

我确实发现这种方法有两个问题:

iPad 不缓存音频,因此重新加载时需要重新加载。这意味着在音频再次开始播放之前会有一段延迟。 重新加载后,音频将从头开始播放,即 00:00。

希望对你有帮助!

【讨论】:

对于投反对票的人和所有其他投反对票的人,请在这样做时给出理由,以便我们知道为什么我们的解决方案不完美。它将帮助解决方案编写者和读者了解问题所在。例如,这项工作给了我想要的结果,但它并不完美。我想知道我能做些什么来让它变得更好。谢谢! 对于大多数面临此问题的人来说,这不是一个可行的解决方案,因为“静音”视频往往意味着在视频继续播放时,音频不会。除非我遗漏了什么,否则您的解决方案类似于关闭电视,这在技术上确实会消除声音,但并不完全是“静音”。 啊,是的,这是真的。这不适用于视频。就我而言,我使用这种方法来“静音”背景音轨。 :)

以上是关于音量关闭在 html5 视频 ipad 2 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jquery 在 html5 文档中不起作用 [关闭]

Html 5 [input type=Date] 控件,最大日期在 iPhone/Ipad 中不起作用

FFMPEG 转换的视频在 HTML5 中不起作用

HTML5 视频自动播放在 chrome 中不起作用

HTML5 视频在 Safari 中不起作用

HTML5 视频加载数据事件在 IOS Safari 中不起作用