Как использовать стерео (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
массив содержит стерео полярную диаграмму.
Подробнее читайте в документации.