我试图编写一个程序来记录音频文件中样本的浮动值。我的步骤如下:
(AudioStreamBasicDescription)
我已经将整个90行类放到了下面的gist中:https://gist.github.com/792630
问题是,如果我将音频格式应用到我的扩展音频文件(步骤3),我在试图读取该文件时会出错(步骤5)。如果我注释掉步骤5,该文件读起来很好,但我不会强制执行读取的格式,并且在日志记录时不会得到浮动。
如有任何建议,将不胜感激。谢谢!
发布于 2011-01-24 01:50:17
我现在注意到的一件事是,您正在堆栈上分配一个AudioBufferList,但是将mNumberBuffers设置为2。在堆栈上使用ABLs是可以的,但是如果这样做,它们只能包含一个缓冲区。但是由于您已经将客户端格式设置为mono,所以这并不是真正的问题。
真正的问题是,您没有将fileRef的地址传递给ExtAudioFileOpenURL- -而是传递值--因此调用无法正确地初始化变量。
电话应该是这样的:
CheckResult(ExtAudioFileOpenURL(inputFileURL, &fileRef), "ExtAudioFileOpenURL failed");我这么做了,编译了你的代码,一切都很顺利。
https://stackoverflow.com/questions/4777664
复制相似问题