Я пытаюсь перехватить в реальном времени аудиопоток видеофайла на основе файлов, чтобы применить некоторые эффекты в реальном времени к звуковой дорожке и смешать его с другими источниками звука во время воспроизведения видео.
В идеале было бы здорово иметь возможность взять звуковую дорожку объекта AVPlayer, вставить ее в звуковой график в качестве отдельно адресуемого входа, обработать ее с помощью обратного вызова с подходящими аудиоустройствами, а затем повторно ввести ее в режиме реального времени для доставки на аудиовыход, но я не могу найти простой способ сделать это при сохранении целостности исходного видео актива. Мне не удалось выяснить, как получить доступ к аудиобуферу AVPlayer для пересылки его необработанных данных в обратный вызов обработки звука.
Мне кажется, что единственный подходящий подход состоит в том, чтобы разделить аудио и видео дорожки, обрабатывая их как отдельные файлы, а затем обрабатывать видео дорожку (с удаленным звуком) с помощью AVPlayer и запускать все аудио через отдельный путь обработки Core Audio, работающий параллельно, но я боюсь, что этот подход усложнит синхронизацию AV, в дополнение к добавлению громоздкой автономной задачи подготовки. Любая идея или альтернативный подход?