如果我通过启用某些选项(使用setCategory:withOptions:error:)来设置AVAudioSession类别,然后再调用setCategory:error:,那么先前设置的选项会怎样?
如果答案是#1,如果新类别与启用的选项不兼容怎么办?系统会自动禁用它吗?
我试图阅读文档,但找不到该特定信息。
谢谢。
最佳答案
发生类别更改时,这些选项不会保持其状态。
如果没有使用任何可用的setCategory方法设置选项,则为应用程序AVAudioSession共享实例的categoryOptions属性分配值0。
例如这行-
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];
等价于-
AVAudioSessionCategoryOptions AVAudioSessionCategoryOptionsNone = 0;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionsNone error:nil];