iOS - AudioSession Cateogry для приложения AudioUnit - PullRequest
1 голос
/ 26 апреля 2011

Я работаю над приложением потокового аудиоплеера для iOS. В настоящее время я экспериментирую с AudioQueue и AudioUnit для воспроизведения.

Оба работают нормально в нормальных условиях. Но при переходе в спящий режим возникает проблема с версией приложения AudioUnit.

AudioUnit версия приложения остановила воспроизведение, когда приложение переходит в спящий режим. Где как AudioQueue версия приложения, воспроизводящаяся без каких-либо проблем в спящем режиме.

Я установил "kAudioSessionCategory_MediaPlayback" категорию сеанса для обоих случаев. Я предполагаю, что эта категория сеанса должна продолжать воспроизведение даже в режиме ожидания.

Я не уверен, что мне здесь не хватает.

Я хочу добавить функции панорамирования / эффектов в свое приложение, поэтому я пытаюсь использовать AudioUnit.

Любая помощь высоко ценится.

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Наконец-то у меня работает реализация AudioUnit.Я установил категорию AudioSession как «kAudioSessionCategory_MediaPlayback».Поскольку я использую AudioUnit для воспроизведения, мне нужно установить для свойства «kAudioUnitProperty_MaximumFramesPerSlice» значение 4096. Поэтому оно продолжит воспроизведение, даже если устройство находится в спящем режиме.

0 голосов
/ 26 апреля 2011

Согласно документации Apple по аудиосеансам , вам, вероятно, следует использовать kAudioSessionCategory_SoloAmbientSound вместо этого. Это остановит все звуки из других приложений, но это цена, которую вы платите за возможность продолжать играть, когда устройство заблокировано.

...