采取AudioBuffer样本

时间:2011-12-28 10:29:22

标签: objective-c xcode core-audio

我正在尝试实时获取音频缓冲区样本(分辨率为ms)

我正在使用此功能,但它给了我错误。

 AudioBufferList *bufferList = NULL;
    AudioBuffer audioBuffer = bufferList->mBuffers[0];
    int bufferSize = audioBuffer.mDataByteSize / sizeof(SInt32);
    SInt32 *frame = audioBuffer.mData;
    SInt32  signalInput[22050];
    for( int i=0; i<bufferSize; i++ )
    {
        SInt32 currentSample = frame[i];
        *(signalInput +i) = currentSample;
        NSLog(@"Total power was: %ld ",currentSample);
    }
我在这里做错了什么? 我只需要获取音频样本。我不想要2页代码(例如在app doc中)

谢谢。

1 个答案:

答案 0 :(得分:0)

你想要的是与你想要做的事情不一致。 NULL缓冲区列表不能生成样本。

您需要两个+代码页才能正确配置音频会话和RemoteIO音频单元(等),以获得您想要获得的内容。否则没有样品。在开机之前,手机甚至不会打开录音或知道如何设置录音(有一串选项)。研究文档并处理它。