Если я установлю режим аудиосеанса моего приложения на AVAudioSessionCategoryPlayback с параметрами:
AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers | AVAudioSessionCategoryOptionDuckOthers Все работает отлично, мое приложение воспроизводит звук, а музыка Apple приглушается в фоновом режиме.
Однако, если до изменения на AVAudioSessionCategoryPlayback категорией аудиосеанса моего приложения была AVAudioSessionCategoryAmbient, музыка Apple (и другие музыкальные приложения) перестает воспроизводиться.
Вот мой код (я проверяю наличие ошибок и возвращаемые значения, но для ясности я удалил эти части из фрагмента:
// Если я закомментирую этот вызов, мое приложение уклонится от других... // Если это прокомментировано, а не приглушено, мое приложение останавливает все остальные аудио [[AVAudioSessionsharedInstance] setCategory:AVAudioSessionCategoryAmbient с опциями: 0 ошибка: ноль]; [[AVAudioSession SharedInstance] setActive: YES ошибка: ноль]; // Выполняем другие действия в приложении и в какой-то момент вызывается следующий код theOptions = AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers | AVAudioSessionCategoryOptionDuckOthers [[AVAudioSessionsharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:Параметры ошибка: ноль]; Я пробовал деактивировать сеанс между изменениями, но это не меняет ситуацию и не активирует его каждый раз. Единственное, что я могу найти, чтобы позволить моему приложению воспроизводить звук и игнорировать другие, - это не настраивать окружающий сеанс в любой точке моего приложения, но мне нужно воспроизводить окружающий звук в некоторых моментах приложение, поэтому это решение нежизнеспособно. Пожалуйста, помогите
