2012-12-11 6 views

답변

1

봐 : AVCaptureTtoAudioUnitOSX

제대로 원시 오디오 데이터를 처리하고 AudioUnit에 전달하는 방법을 볼 수 있습니다. 다음과 같이

기본 원칙은 다음과 같습니다

  1. 먼저 얻는 형식에 SampleBufferAudioStreamBasicDescription 정보를 얻기 CMFormatDescriptionRefCMSampleBufferGetFormatDescription
    그러면 얻을 AudioStreamBasicDescriptionCMAudioFormatDescriptionGetStreamBasicDescription
    이제 샘플 속도, 채널당 비트 수, 프레임 당 채널 수에 대한 정보를 얻을 수 있습니다. 패킷

  2. 당 프레임이 실제 오디오 데이터

    AudioBufferList를 얻을 하나의 CoreAudio의 공공 유틸리티를 사용하거나 너무
    CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer 호출되는 기능을 수행하는 올바른 방법이 mailing list 항목을 선택합니다. 세 번째 매개 변수는 bufferListOut이며 AudioBufferList입니다. 예를 들어 다음과 같이 작업 할 수 있습니다. AudioUnit 또는 무엇이 필요합니다.

  3. 얻기 실제 원시 데이터

    AudioBufferList 각각의 AudioBuffers이 포함 된이 당신이 가야한다 데이터

    struct AudioBuffer { 
    UInt32 mNumberChannels; 
    UInt32 mDataByteSize; 
    void *mData; 
    }; 
    

가 포함되어 있습니다. 자세한 정보는 Apple의 샘플 코드를보십시오.

관련 문제