我在我的项目中使用 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 播放 float **,因此我可以使用第二种麦克风方法进行绘图和播放。而且我无法从第一种绘图方法中传入 AudioBufferList。
看来如果我可以设法将一个转换为另一个(AudioBufferList <--> float **),它可能会解决我的问题,但我不知道该怎么做。
任何帮助表示赞赏。