【问题标题】:volume off does not work in html5 video ipad 2音量关闭在 html5 视频 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);
}

【问题讨论】:

    标签: javascript html ipad html5-video


    【解决方案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。

      希望对你有帮助!

      【讨论】:

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