我在我的项目中使用EZAudio从麦克风读取音频数据。EZAudio有两种麦克风方式:
- (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播放float **,所以我可以使用第二个麦克风方法来绘图和播放。我不能传入第一个绘图方法的AudioBufferList。
似乎如果我能设法将一个转换成另一个(AudioBufferList <--> float **),它可能会解决我的问题,但我不知道怎么做。
任何帮助都是非常感谢的。
发布于 2015-07-11 05:01:25
试试这个:
float *buffer = (float*)bufferList->mBuffers[0].mData;https://stackoverflow.com/questions/30573076
复制相似问题