我在我的项目中使用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 **),它可以解决我的问题,但我不知道该怎么做。
感谢任何帮助。
答案 0 :(得分:0)
试试这个:
float *buffer = (float*)bufferList->mBuffers[0].mData;