我正在制作一个iPhone录制应用程序,需要将声音文件作为.wav提交给外部服务器。将声音录制为iPhone上的WAV
从SpeakHere例子开始,我能够录制声音文件,但只是作为
的.caf有谁知道如何将它记录为WAV呢?或者如何在iphone上将.caf转换为.wav? (转换必须发生在手机上)
编辑:
我想知道,如果有什么可以在AudioFileCreateWithURL
我正在制作一个iPhone录制应用程序,需要将声音文件作为.wav提交给外部服务器。将声音录制为iPhone上的WAV
从SpeakHere例子开始,我能够录制声音文件,但只是作为
的.caf有谁知道如何将它记录为WAV呢?或者如何在iphone上将.caf转换为.wav? (转换必须发生在手机上)
编辑:
我想知道,如果有什么可以在AudioFileCreateWithURL
没错,关键是kAudioFileWAVEType
AudioFileCreateWithURL (
audioFileURL,
kAudioFileWAVEType,
&audioFormat,
kAudioFileFlags_EraseFile,
&audioFileID
);
改变从CAF到WAVE在SpeakHere例如使录制为wav。我也在播放类中编辑相同的东西,并将文件名改为Recording.wav
使用kAudioFileWAVEType代替kAudioFileCAFType完成看一看libsndfile。这是一个很好用(包括Audacity)C库,用于处理大量文件格式。它支持读取和写入各种CAF和WAV格式。
CAF File structure和WAV format非常相似。如果最坏的情况出现,转换不应该太难。
这将涉及到采取音频数据块,并原样复制到WAV文件,并使用音频描述块中的信息添加一个等效的子文件为WAV文件。这是相当简单的字节复制。
但是,要知道(埃里克指出)有授权的问题,请参见:Can the Libsndfile library be used on the iPhone iOS?
谢谢。我使用WAV格式链接来确认录制工作正常。我有问题发送数据到我的服务器。 – matt 2009-02-23 21:51:19
我投下了这个,因为libsndfile无法在iPhone上使用:http://stackoverflow.com/questions/4939268/can-the-libsndfile-library-be-used-on-the-iphone-ios – 2011-02-10 14:40:40