Я начинаю писать аудио расширение AUv3 и следую шаблону в Xcode 11.3, который проделал всю тяжелую работу. Расширение хорошо работает при загрузке на другие хосты! Теперь я хочу использовать свое собственное расширение в своем приложении и просто воспроизвести аудиофайл, но у меня возникли проблемы, и я несколько дней (и ночей) рвал на себе доступ к параметрам.
Я использую AVplayer и AVengine и создаю экземпляр AudioUnitExtension следующим образом:
// instantiate AudioUnit as AVAudioUnit
[AVAudioUnit instantiateWithComponentDescription:audioDescription options:1 completionHandler:^(AVAudioUnit * audioUnit, NSError *error) { ... do more stuff here}];
К моему удивлению, метод createAudioUnitWithComponentDescription в моем расширении не вызывается ?! Но когда я подключаю его к AVengine:
[self->_engine attachNode:self->_AV_AudioUnit];
Звук проходит, и эффект применяется, но в AVAudioUnit нет дерева параметров, поэтому я не могу изменить какие-либо параметры обработки. Похоже, что AVAudioUnit! = AUAudioUnit и не имеет дерева параметров. Но AVengine позволяет работать только с AVAudioUnits!
Я просмотрел пример Apple и веб, но не смог найти ничего полезного ... было бы здорово, если бы кто-то мог указать мне направление, как это настроить!