#macos #osx-lion #core-audio #audiounit
#macos #osx-lion #ядро-аудио #audiounit
Вопрос:
В технической записке Apple TN2276 перечислены изменения в коде аудиоустройства для Lion. Я успешно применил изменения к образцу FilterDemo, и он компилируется нормально. Затем я вносил те же изменения в образец AUPinkNoise, но я получаю сообщение об ошибке компоновщика с указанием неопределенного символа _FilterFactory. Я изменил код в AUPinkNoise.cpp из COMPONENT_ENTRY (AUPinkNoise) в AUDIOCOMPONENT_ENTRY (AUBaseFactory, AUPinkNoise)
Но это не помогает. Будучи новичком в Core audio, я понятия не имею, как это исправить. Есть какие-нибудь идеи?
Ответ №1:
У меня была похожая проблема, за исключением другого проекта аудиоустройства. Судя по вашему описанию ошибки, я думаю, вы забыли отредактировать файл .exp. В файле .exp у вас должна быть запись _»name» и фабрика _»name». Например, в вашем случае в файле .exp (расположенном в папке AUSource) это должно быть следующим
1:_AUPinkNoiseEntry
2:_AUPinkNoiseFactory
3:
Не забудьте оставить пустую строку в самом конце.
Кроме того, вы также захотите отредактировать файл info.plist, добавив запись массива AudioComponents и добавив файл AUPluginDispatch.cpp / h (расположенный в папке AUBase).
Комментарии:
1. Действительно, у моего файла .exp было неправильное имя для _AUPinkNoiseFactory. Это решило проблему.