目前我出于不同的原因在多个应用程序中使用Novocaine 。感谢 Alex 提供的出色框架!也感谢 Nick D. 的制作!
我可以通过这样的示例使用基本播放来获取示例:
[self.audioManager setInputBlock:^(float *data, UInt32 numFrames, UInt32 numChannels) {
NSMutableData *theData = [NSMutableData dataWithBytes:data
length:(numFrames* numChannels*sizeof(float))];
}];
收到数据后,我将其放入环形缓冲区
float *floatData = (float*)[theData bytes];
_ringBufferOut->AddNewInterleavedFloatData(floatData, numFrames, numChannels);
像这样玩:
[audioManager setOutputBlock:^(float *outData, UInt32 numFrames, UInt32 numChannels) {
_ringBufferOut->FetchInterleavedData(outData, numFrames, numChannels);
}];
我最好的尝试是只接收几秒钟的声音(取决于我的缓冲区的大小),而不仅仅是故障或没有声音......
我在使用缓冲区方面完全是新手,我已经花了几天时间尝试配置如何实现这一点。
我的问题是:是否可以仅使用 Novocaine 及其 ringBuffer 在 iPhone 设备之间传输音频?我应该像Speak Here示例那样去 AudioQueue吗?也许将它们结合起来?我知道我的问题是使用缓冲区,因此非常感谢任何有关缓冲的帮助。