2012-06-14 2 views
0

AVCaptureSession으로 마이크 장치를 추가했습니다. DelegateMethod를 통해 오디오가 필요합니다. 이 메서드는 서버에 오디오를 쓸 때마다 그 오디오를 씁니다. 그러나 오디오 포맷이 올바르지 않습니다. 서버가 PCM에 필요합니다. 그렇다면 오디오 데이터를 PCM 형식으로 어떻게 가져올 수 있습니까?Avfoundation에서 오디오 오디오 데이터 설정을 얻는 방법

(void)captureOutput:(AVCaptureOutput *)captureOutput 
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer 
     fromConnection:(AVCaptureConnection *)connection 
{ 

    AudioBufferList audioBufferList; 
    NSMutableData *data=[[NSMutableData alloc] init]; 
    CMBlockBufferRef blockBuffer; 
    CMSampleBufferGetAudioBufferListWithRetainedBlockBuffer(sampleBuffer, NULL, &audioBufferList, sizeof(audioBufferList), NULL, NULL, 0, &blockBuffer); 

    for(int y=0; y<audioBufferList.mNumberBuffers; y++) 
    { 
     AudioBuffer audioBuffer = audioBufferList.mBuffers[y]; 
     Byte *frame = (Byte*)audioBuffer.mData; 
     [data appendBytes:frame length:audioBuffer.mDataByteSize]; 
    } 

    CFRelease(blockBuffer); 
    blockBuffer=NULL; 

    [outputStream write:[data bytes]maxLength:[data length]];  
} 

가 임의의 이유 MY 요구에 따라 데이터를 얻을 수 있도록 이러한 위상 CODE IN AUDIO 설정을 추가하는 방법 : 여기 서버에 데이터를 기록하는 방법이다.

답변

0

귀하의 질문에 따라이 시도하십시오 link