如何检测音频是不是无法静音?

Posted

技术标签:

【中文标题】如何检测音频是不是无法静音?【英文标题】: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 吗?

【问题讨论】:

【参考方案1】:

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

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

myAudio.volume = tmpvol;

【讨论】:

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

以上是关于如何检测音频是不是无法静音?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过静音部分分割视频或音频

在 Python 中检测和录制音频

python检测音频静音段并添加静音段

音频自动增益 与 静音检测 算法 附完整C代码

使用静音检测分割音频文件

音频自动增益 与 静音检测 算法 附完整C代码