Как использовать стерео (2-канальный) встроенный микрофон в iPhone XS, внутри AVAudioSession?

Я пытаюсь получить оба канала от якобы стереофонического заднего микрофона из iPhone XS, но могу видеть только один канал в разных точках AVAudioSession и AVAudioSessionPortDescription, связанных с задней камерой.

Я пытался использовать API-интерфейсы AVAudioSession, такие как setPreferredInputNumberOfChannels

do {
    try session.setPreferredInputNumberOfChannels(2)
} catch let error {
    debugPrint("\(error)")
}

Но получаю ошибку: Ошибка Domain=NSOSStatusErrorDomain Code=-50

Кто-нибудь имел опыт работы с 2-х канальным встроенным микрофоном?

1 ответ

Стереомикрофон на iPhone XS расположен внизу с левой стороны разъема для молнии. Тот, что на правой стороне разъема молнии, является микрофоном с шумоподавлением. Два других микрофона расположены рядом с передней камерой и задней камерой. Но это только монофонические микрофоны. Но есть большое НО, когда дело доходит до нижнего стереомикрофона. Он только записывает в стерео при использовании приложения встроенной камеры. Голос только в приложении голосовых заметок только записи в моно. Кроме того, стереомикрофон не совместим ни с каким сторонним приложением. Работает только при съемке видео в родном приложении камеры.

Начиная с iOS 14 и iPadOS 14, вы можете записывать стереозвук с помощью встроенных микрофонов.

Чтобы определить, поддерживает ли устройство стереозапись, запросите выбранный источник данных аудиосеанса, чтобы узнать, supportedPolarPatterns массив содержит стерео полярную диаграмму.

Подробнее читайте в документации.

Другие вопросы по тегам