【问题标题】:How to detect if audio can't be muted?如何检测音频是否无法静音?
【发布时间】:2016-03-31 16:20:01
【问题描述】:

有没有办法检测音频是否无法静音?在 iOS 设备中,无法通过 javascript 更改音频。我的应用程序中有一个按钮,可以将使用 SoundManager2 和 HTML5 视频播放的音频静音。这在 iOS 设备中不起作用。我可以检查 iOS 并进行相应处理,但我不确定是否有任何其他设备以这种方式处理,并且与设备特定更改相比,进行更多功能检测是更好的做法。我尝试检查 muted 参数,它确实发生了变化,只是没有反映,所以我不能做这样的事情:

soundManager.mute();
if (!soundManager.muted) {
  alert("Can't Mute");
}

静音函数也只是返回null,所以我也不能查看它的返回值。

我有什么遗漏或者我需要专门检查 iOS 吗?

【问题讨论】:

    标签: ios audio html5-audio soundmanager2


    【解决方案1】:

    我使用特征检测。 首先我保存当前音量,然后我将其设置为 50%,并检查是否真的设置为 50% 如果是,则设备可以更改音量。 最后我把音量调回原来的值。

    var tmpvol = myAudio.volume;
    myAudio.volume = 0.5
    if (myAudio.volume == 0.5) {
        // true
    }
    myAudio.volume = tmpvol;
    

    【讨论】:

    • 请解释它的作用。 Stackoverflow 不赞成仅代码的答案,因为人们正在扫描答案以寻找解决方案,并且无法对那里的每个代码进行逆向工程。既然你已经知道了,那就直接说它是什么。我可以很容易地弄清楚这一点,但我仍然必须停下来研究它,而不是我应该做的更多,以了解你所传达的概念。请尊重社区的时间,并为您的技术工作创建标题/概要/描述或介绍,以便人们在研究之前知道会发生什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-05
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多