#ios #ios5 #core-audio #audio-streaming #audiounit
#iOS #ios5 #ядро-аудио #потоковое аудио #audiounit
Вопрос:
Я работаю над приложением потокового аудиоплеера для iOS. в настоящее время я экспериментирую с AudioQueue и AudioUnit для воспроизведения.
Оба варианта отлично работают в обычном состоянии. Но я сталкиваюсь с проблемой с версией приложения AudioUnit, когда оно переходит в спящий режим.
Версия приложения с AudioUnit останавливала воспроизведение, когда приложение переходило в спящий режим. Где как AudioQueue версия приложения воспроизводится без каких-либо проблем во время спящего режима.
Я установил категорию сеанса «kAudioSessionCategory_MediaPlayback» для обоих случаев. Я предполагаю, что эта категория сеансов должна продолжать воспроизведение даже в спящем режиме.
Я не уверен, чего мне здесь не хватает.
Я хочу добавить функции панорамирования / эффектов в свое приложение, поэтому я пытаюсь использовать AudioUnit.
Любая помощь высоко ценится.
Ответ №1:
Наконец-то у меня заработала реализация AudioUnit. Я установил категорию аудиосессий как «kAudioSessionCategory_MediaPlayback». Поскольку я использую AudioUnit для воспроизведения, мне нужно установить для свойства «kAudioUnitProperty_MaximumFramesPerSlice» значение 4096. таким образом, он продолжит воспроизведение, даже если устройство находится в спящем режиме.
Ответ №2:
Согласно документации Apple по аудиосессиям, вам, вероятно, следует использовать kAudioSessionCategory_SoloAmbientSound
вместо этого. Это остановит все звуки из других приложений, но это цена, которую вы платите за возможность продолжать воспроизведение, когда устройство заблокировано.
Комментарии:
1. Позвольте мне попробовать с вашим предложением. но когда я использую «kAudioSessionCategory_MediaPlayback» с AudioQueue, он работал нормально, даже когда устройство находится в режиме ожидания. но он перестал воспроизводиться, когда я использую его с AudioUnit.