Обработка 3A VPIO AUAudioUnit не останавливается в режиме RemoteIO на устройстве iOS 14

#ios #ios14 #audiounit #audiotoolbox

#iOS #ios14 #audiounit #audiotoolbox

Вопрос:

Я обнаружил, что на устройстве iOS 14 после создания и запуска аудиоустройства в режиме VPIO (с обработкой 3A), когда я воссоздаю свой аудиоустройство в режиме RemoteIO, обработка 3A, похоже, останется рабочей, из-за чего функция обратной связи в ушах будет звучать прерывисто.

И я нашел хитрый способ избежать этого: перед созданием AudioUnit установите для PreferredInput значение BuiltInMic для AudioSession в first……So странно.

Я загрузил свою демонстрацию на Github: https://github.com/PandaraWen/AudioUnit_BugReport

  1. Создайте и запустите демонстрационную версию в Xcode 12 на устройстве iOS 14 и подключите наушники;
  2. Включите переключатель «Loopback»;
  3. Нажмите кнопку «AU-RemoteIO» и скажите «Ah ~~~~~~~~», вы услышите свой обычный голос из наушников EarPods;
  4. Нажмите кнопку «AU-VPIO» и скажите «Ah ~~~~~~~~», вы будете слышать свой голос из наушников прерывисто, это потому, что я думаю, что AEC;
  5. Снова нажмите кнопку «AU-RemoteIO» и скажите «Ah ~~~~~~~», ошибка возникает! Вы услышите свой прерывистый и низкий голос! ЭТО АБСОЛЮТНО НЕНОРМАЛЬНО!!!!!
  6. Включите переключатель «Должен быть установлен для встроенного микрофона» и снова нажмите кнопку «AU-RemoteIO», вы снова услышите свой обычный голос из наушников EarPods.

Наконец, я обнаружил, что «сложный способ сборки» потребует дополнительного времени, что повредит пользовательскому интерфейсу, поэтому я надеюсь, что эта проблема может быть полностью устранена!!!!