Воспроизведение музыки во время записи без перемаршрутизации

Я кодирую приложение, и мне не нужно прерывать музыку, которую играет пользователь, пока приложение записывает через микрофон.

Однако, если я использую kAudioSessionProperty_OverrideAudioRoute с kAudioSessionOverrideAudioRoute_Speaker для свойств аудиосеанса, звук перенаправляется на внешний динамик, даже если наушники подключены. .

Любые идеи?


person Colin Cornaby    schedule 28.11.2012    source источник
comment
установили ли вы [[AVAudioSession sharedInstance] setCategory: ошибка AVAudioSessionCategoryPlayAndRecord: ноль];   -  person Pranav Jaiswal    schedule 28.11.2012


Ответы (1)


Я нашел ответ.

Не делай это:

AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof( trueValue ), &trueValue );
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(trueValue), &trueValue);

Вместо этого сначала установите свойство динамика по умолчанию:

AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(trueValue), &trueValue);
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof( trueValue ), &trueValue );

Установка переопределения пути по умолчанию, кажется, сдует, позволяя смешивать с другими приложениями. Так что просто разрешите смешивание с другими приложениями во вторую очередь.

person Colin Cornaby    schedule 28.11.2012
comment
В дальнейшем это было исправлено в iOS. Возможно, будущая версия iOS iirc. - person Colin Cornaby; 27.08.2013