小编Aha*_*uhe的帖子

AVAudioSession的OutputVolume永远不会改变

SO上有很多问题和答案,这[AVAudioSession sharedInstance].outputVolume是检测设备音量的唯一方法.但它似乎没有正常工作.outputVolume永远不会改变,尽管它在第一次设置时是正确的(在应用程序启动时).

我做错了吗?除了阅读价值之外,我不知道还能做什么outputVolume.我的直觉会告诉我这是一个错误,如果不是因为其他人似乎做得很好.我还在iOS 7和8上测试了它,所以它不是iOS 8的bug.我在一个小型测试项目中重现了同样的事情,所以我的项目中没有任何东西干扰它.

另外:我很清楚铃声音量和音量之间的区别.我改变了两个,报告的数量仍然没有改变.

这是我在测试项目中使用的函数:

- (void)checkVolume
{
    float volume = [AVAudioSession sharedInstance].outputVolume;

    NSLog(@"Volume: %f", volume);

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^
    {
        [self checkVolume];
    });
}
Run Code Online (Sandbox Code Playgroud)

ios avaudiosession

6
推荐指数
1
解决办法
4502
查看次数

标签 统计

avaudiosession ×1

ios ×1