Я использую LiveKit (WebRTC) в приложении React Native, которое использует AVAudioSession внутри себя для захвата звука (использование в стиле VoIP/вызова).
Я использую внешний USB-микрофон.
На этих устройствах:
- iPhone 11 →
USB-микрофон работает
- iPhone 13 →
USB-микрофон работает
- iPhone 17 Pro →
USB-микрофон работает
- iPhone 14 Pro Max →
USB-микрофон НЕ работает
- Тот же USB-микрофон:
Работает в Voice Заметки
-
Работает в Instagram Live
-
НЕ отображается в качестве опции ввода в моем приложении
-
НЕ работает в звонках WhatsApp / Instagram
А также:
- В моем приложении на iPhone 14 Pro Max iOS не отображается пользовательский интерфейс выбора аудиовхода
- На iPhone 17 Pro то же приложение и та же сборка отображает селектор и USB-микрофон работает
Код: Выделить всё
await AudioSession.setAppleAudioConfiguration({
audioCategory: 'playAndRecord',
audioMode: 'default',
audioCategoryOptions: ['allowBluetooth', 'defaultToSpeaker'],
});
await AudioSession.startAudioSession();
[*]Это известное ограничение или поведение, специфичное для iPhone 14 Pro / Pro Max?
[*]Имеет ли iPhone 14 Pro другие правила маршрутизации звука для режима вызова/VoIP по сравнению с другими устройствами?
[*]Почему один и тот же USB-микрофон работает в приложениях для записи (Voice Memos, Instagram Live), но не в приложениях для звонков (LiveKit, WhatsApp, вызов Instagram)?
[*]Есть ли документированная разница в поведении AVAudioSession на iPhone 14 Pro в отношении внешних аудиовходов USB?
Подробнее здесь: https://stackoverflow.com/questions/798 ... ion-call-a
Мобильная версия