我已将来自麦克风输入的样本写入Float32
数组,现在我想将该样本数组转换为WAV文件。
Apparently a good way to do it将使用the DIRAC library中的实用程序类,因为它的EAFWrite
类具有writeFloats
方法,应该可以解决问题。
当我调用EAFWrite的writeFloats方法时,出现“无法将'float'转换为float **”错误。这是电话:[mWriter writeFloats:128 fromArray:mySession];
数组因此被初始化:Float32 mySession[10000000] = {0};
你觉得错什么?这是关于指针的问题吗?
最佳答案
看一看writeFloats:fromArray:
源代码(它包含在库中,doncha kno)表明data
参数实际上应该是一个数组指针数组,每个通道一个数组指针。大概您在mWriter
的上一条消息中指定了一个通道,因此现在您可以执行以下操作:
Float32 *channelsData[1] = { mySession };
[mWriter writeFloats:128 fromArray:channelsData];
或者,如果您想变得非常棘手:
[mWriter writeFloats:128 fromArray:(Float32 *[]){ mySession }];
关于iphone - “Cannot convert ' float ' to float**”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8322919/