AUGraph означает, что больше нет звуковых обратных вызовов? - PullRequest
1 голос
/ 26 июня 2019

У меня есть приложение со сложным обратным вызовом рендеринга, которое, я сомневаюсь, может сделать с AVAudioEngine.

В любом случае, использовать мой обратный вызов рендеринга AUGraph (с несколькими шинами) с AVAudioEngine?

Любой пример кода?

Ответы [ 2 ]

2 голосов
/ 27 июня 2019

A (не рекомендуется) V3 AUAudioUnit подкласс все еще может возвращать AUInternalRenderBlock, который поддерживает обратные вызовы рендеринга аудио. Затем AVAudioEngine API может подключить эти аудиоустройства (например, к узлам микшера). Функции визуализации Audio Unit V3 по-прежнему позволяют использовать короткие (буферы с менее чем 500 сэмплами) синтез и анализ звука практически в реальном времени на iOS.

См. Пример моего приложения V3 AU на GitHub (смешанный Swift и Objective C): https://github.com/hotpaw2/auv3test5

1 голос
/ 27 июня 2019

API Audio Unit не устарел, только AUGraph, который предположительно построен поверх него.

Создание соединений с использованием AudioUnitSetProperty с kAudioUnitProperty_MakeConnection с AudioUnitConnection структурой.

Запуск и остановка выходного устройства с помощью AudioOutputUnitStart и AudioOutputUnitStop .

Установка обратного вызова рендеринга с использованием AudioUnitSetProperty и kAudioUnitProperty_SetRenderCallback с AURenderCallbackStruct

На самом деле AUGraph не так уж много, кроменебольшая бухгалтерия и более простой синтаксис подключения.

...