目标C-如何检测到音量为0? (同时使用静音按钮和降低音量)

时间:2018-09-23 07:06:50

标签: ios objective-c audio

如果声音为0,我想发出警报。

我找到了这个库https://github.com/moshegottlieb/SoundSwitch,但是它似乎不起作用。至少不在模拟器上

1 个答案:

答案 0 :(得分:0)

您看过this question吗?他们给出了各种答案:

float vol = [[AVAudioSession sharedInstance] outputVolume];
NSLog(@"output volume: %1.2f dB", 20.f*log10f(vol+FLT_MIN));

尽管如此,使用模拟器似乎无法正常工作(我正在尝试,并且总是返回相同的值)。这使我认为也许不是我们可以从模拟器中检查的内容。您可以在真实设备上尝试吗?让我知道它是否有效。

编辑:好的,所以阅读有关它似乎没有可用的API检查静默模式。无论如何,人们发现了一种解决方法:播放没有音量的简短音频。如果结束时间(开始时的减去时间)小于音频的实际长度,则处于静音模式(处于静音模式时,音频将持续0秒)。

因此,here有人发布了一个为您执行此操作的课程。让我知道它是否有效