2013-12-12 4 views
1

Если я установил категорию AVAudioSession, включив некоторые параметры (используя setCategory:withOptions:error:), а позже я вызываю setCategory: error:, что происходит с ранее установленными параметрами?AVAudioSession setCategory WithOptions

  1. Сохраняют ли они свое состояние?
  2. Все ли они сброшены до их соответствующего значения по умолчанию?

Если ответ №1, что произойдет, если новая категория не совместима с включенной опцией? Автоматически ли она отключена системой? Я попытался прочитать документацию, но я не смог найти эту конкретную информацию.

спасибо.

ответ

2

Параметры не сохраняют свое состояние при изменении категории.

Свойство categoryOptions ваших приложений Каждому экземпляру AVAudioSession присваивается значение 0, когда нет параметров, заданных с использованием любой из доступных методов setCategory.

Например, эта линия -

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 

эквивалентно -

AVAudioSessionCategoryOptions AVAudioSessionCategoryOptionsNone = 0; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionsNone error:nil]; 
+0

Я просто проверил это, и это совершенно неправильно. Параметры ** не обновляются ** при вызове метода без них. – funkenstrahlen

+0

Похоже, что это не работает для меня, поскольку я запускаю бета-версию разработчика iOS 10 8. Я подал сообщение об ошибке в Apple. Надеюсь, они это исправит. – funkenstrahlen

+0

Я вижу эту ошибку также на iOS 9 – funkenstrahlen

Смежные вопросы