我在项目中使用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 **),则可以解决我的问题,但是我不知道该怎么做。
任何帮助表示赞赏。
最佳答案
试试这个:
float *buffer = (float*)bufferList->mBuffers[0].mData;
关于ios - AudioBufferList float **转换EZAudio EZMicrophone以进行可视绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573076/