Подтвердить что ты не робот

AVAudioSessionCategoryPlayAndRecord с Airplay

Мое приложение использует микрофон и выводит аудио, поэтому я устанавливаю свой сеанс аудио в категорию воспроизведения и записи, но это, похоже, отключает Airplay. Если я установил категорию в Play, Airplay отлично работает с моим выходом (но, очевидно, вход не работает).

Я попытался переопределить выходной маршрут в динамик, в случае, если это необходимо для вывода по Airplay, но не радости.

Любые идеи?

4b9b3361

Ответ 1

Какое устройство AirPlay вы пытаетесь использовать? Есть ли у него микрофон?

Если нет, iOS не представит его в качестве опции при использовании категории PlayAndRecord, потому что это устройство не может воспроизводить запись и. Он будет отображаться при использовании категории Play.

Кроме того, если устройство, которое вы используете, является устройством Bluetooth, установите для параметра AVAudioSessionCategoryOptionAllowBluetooth значение YES?

Ответ 2

Если вы хотите изменить, куда идет аудио, вам нужно вызвать AudioSessionSetProperty и передать ему константу, указывающую, куда вы хотите, чтобы звук прошел. Эти константы

kAudioSessionOverrideAudioRoute_None, который указывает, что вы хотите, чтобы аудио было направлено в приемник (трансляция, если это происходит) или

kAudioSessionOverrideAudioRoute_Speaker, который указывает, что звук должен быть направлен к динамику в нижней части телефона.

Ответ 3

Вы можете попробовать этот код

// Set AVAudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];

// Change the default output audio route
UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
  sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);

Ответ 4

В Руководстве по программированию аудиозаписей > Работа с категориями > Выбор категорий и режимов для AirPlay:

Только определенные категории и режимы поддерживают AirPlay. Следующие категории поддерживают как зеркальные, так и не зеркальные версии Airplay:

  • AVAudioSessionCategorySoloAmbient
  • AVAudioSessionCategoryAmbient
  • AVAudioSessionCategoryPlayback

Категория AVAudioSessionCategoryPlayAndRecord поддерживает только зеркалированный Airplay.