2014-02-17 2 views
0

나는 이퀄라이제이션 (EQ) 효과를 적용하면서 사용자의 뮤직 라이브러리에서 노래를 재생하는 것과 관련된 앱을 제작하고 있습니다. 이전에 소리를 내기 위해 AudioUnits 만 사용 했으므로 약간의 문제가 있습니다.AudioUnits를 사용하여 음악 라이브러리에서 노래 재생 및 이퀄라이제이션

나의 현재 계획은 샘플을 얻기 위해 AVAssetReader를 사용하는 것입니다, 나는 그에게 조금 퍼지 해요하지만, 여기에 내 질문에 애플의 문서에서 사용할 올바른 AudioUnit 디자인 패턴에 관해서입니다 : https://developer.apple.com/library/ios/documentation/MusicAudio/Conceptual/AudioUnitHostingGuide_iOS/ConstructingAudioUnitApps/ConstructingAudioUnitApps.html#//apple_ref/doc/uid/TP40009492-CH16-SW1.

제 생각 엔 EQ 효과를 수행하기 위해 렌더링 콜백이 필요합니다 (나는 kAudioUnitSubType_ParametricEQ을 생각하고있었습니다) "렌더링 콜백 기능을 가진 I/O"패턴 또는 "렌더 전용 출력" 콜백 함수. " 음악 라이브러리 (잠재적으로 AVAssetReader 통해)에서 데이터를 읽는 경우이 두 패턴 중 어느 것이 가장 적합할까요?

+0

이 스레드도 도움이되었음을 입증했습니다. http://stackoverflow.com/questions/12264799/why-is-audio-coming-up-garbled-when-using-avassetreader-with-audio-queue – Rogare

답변

1

출력 콜백 함수를 사용하여 출력 전용을 사용해야한다고 생각합니다. 콜백 함수는 오디오 데이터 읽기/디코딩 및 EQ 효과 적용을 담당해야합니다.

그런데 이것이 어떤면에서 유용 할 지 모르겠지만 here 당신이 사용할 수있는 기존의 EQ 오디오 장치가 있다고합니다.

관련 문제