AudioBufferList to float **转换EZAudio EZMicrophone for Visual Plotting

时间:2015-06-01 12:05:58

标签: ios objective-c audio plot ezaudio

我在我的项目中使用EZAudio从麦克风中读取音频数据。 EZAudio有2种麦克风方法:

- (void)microphone:(EZMicrophone *)microphone hasBufferList:(AudioBufferList *)bufferList withBufferSize:(UInt32)bufferSize withNumberOfChannels:(UInt32)numberOfChannels {

-(void)microphone:(EZMicrophone *)microphone hasAudioReceived:(float **)buffer withBufferSize:(UInt32)bufferSize withNumberOfChannels:(UInt32)numberOfChannels {

我使用AudioBufferList的第一种方法获取音频数据并通过wifi发送。它运作良好。但是当我想绘制它们时,据我所知,EZAudio只接受第二种方法的输出,该方法使用float **进行绘图。我似乎被困在这里。我无法让EZOutput播放浮动**因此我可以使用第二种麦克风方法进行绘图和播放。我无法通过第一种绘图方法传入AudioBufferList。

似乎我可以设法将一个转换为另一个(AudioBufferList< - > float **),它可以解决我的问题,但我不知道该怎么做。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

float *buffer = (float*)bufferList->mBuffers[0].mData;