【问题标题】:Objective C - How can I detect that the volume is 0? (both the mute button and just by lowering the volume)目标 C - 如何检测到音量为 0? (静音按钮和降低音量)
【发布时间】:2018-09-23 07:06:50
【问题描述】:

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

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

【问题讨论】:

    标签: ios objective-c audio


    【解决方案1】:

    你见过this question吗?他们给出了各种答案:

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

    尽管如此,使用模拟器似乎不起作用(我正在尝试,它总是返回相同的值)。这让我想也许这不是我们可以从模拟器中检查的东西。可以在真机上试用吗?让我知道它是否有效。

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

    所以,here 有人发布了一个为你做这件事的课程。让我知道它是否有效

    【讨论】:

    • 它适用于模拟器,但它只处理音量按钮。如果音量调高了,但是侧面的静音键设置为静音,你函数里的音量就不会是0
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多