2014-02-17 4 views
0

Я создаю приложение, которое включает в себя воспроизведение песен из музыкальной библиотеки пользователя при применении эффекта эквалайзера (EQ). Я использовал только AudioUnits, чтобы генерировать звук раньше, поэтому у меня проблемы.Использование AudioUnits для воспроизведения и воспроизведения песен из музыкальной библиотеки

Мой текущий план использовать AVAssetReader, чтобы получить образцы, и хотя я немного нечеткой на то, что мой вопрос здесь в отношении правильного рисунка AudioUnit дизайн для использования в соответствии с документацией компании Apple: https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/ConstructingAudioUnitApps/ConstructingAudioUnitApps.html#//apple_ref/doc/uid/TP40009492-CH16-SW1.

Я предполагаю, что обратный вызов рендеринга необходим для выполнения эффекта EQ (я думал kAudioUnitSubType_ParametricEQ), так что это оставляет либо шаблон «Ввод/вывод с функцией обратного вызова», либо «Выход только с помощью рендера» Функция обратного вызова. " Если я читаю данные из музыкальной библиотеки (возможно, через AVAssetReader), какой из этих двух шаблонов лучше всего подходит?

+0

Эта статья также оказалась полезной: http://stackoverflow.com/questions/12264799/why-is-audio-coming-up-garbled-when-using-avassetreader-with-audio-queue – Rogare

ответ

1

Я думаю, вам нужно будет использовать только выходной сигнал с функцией обратного вызова. Функция обратного вызова должна отвечать за чтение/декодирование аудиоданных и применение эффекта эквалайзера.

Кстати, я не знаю, может ли это быть полезным каким-либо образом, но here говорится, что есть уже существующий аудиоканал EQ, который вы могли бы использовать.