ios - AudioBufferList float **转换EZAudio EZMicrophone以进行可视绘图

标签 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 **),则可以解决我的问题,但是我不知道该怎么做。

任何帮助表示赞赏。

最佳答案

试试这个:

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

关于ios - AudioBufferList float **转换EZAudio EZMicrophone以进行可视绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573076/

相关文章:

ios - 当用户点击或滚动 UITableView 时如何取消功能?

ios - CLLocationManager 返回错误的位置

python - 分析和取消wave文件的常用频率

ios - UILabel 没有使用自动布局完全调整大小(几乎是 - 一行短)

ios - 使用 PDF 中的可点击链接在 Swift 中创建 PDF

objective-c - 使用多层时无法释放未使用的 CALayer 内存

Android - 在智能手机和蓝牙模块之间路由音频的功能

audio - 使用Wolfram播放功能

ios - UITableView 拉动刷新导致闪烁。如何预防?

ios - 禁用硬件键盘编辑 UITextField