我正在制作一个 iPhone 录音应用程序,需要将声音文件作为 .wav 提交到外部服务器。

从 SpeakHere 示例开始,我能够将声音录制为文件,但只能录制为 .caf

有谁知道如何将其录制为 wav 格式吗?或者如何在 iPhone 上将 .caf 转换为 .wav?(转换必须在手机上进行)

编辑:

我想知道在 AudioFileCreateWithURL 中使用 kAudioFileWAVEType 而不是 kAudioFileCAFType 是否可以做任何事情

有帮助吗?

解决方案

烨,关键是kAudioFileWAVEType

AudioFileCreateWithURL (
            audioFileURL,
            kAudioFileWAVEType,
            &audioFormat,
            kAudioFileFlags_EraseFile,
            &audioFileID
        );

更改从CAF在SpeakHere例如WAVE使记录是为WAV。我还可以编辑在再现类同样的事情,并且改变了的文件名是为recording.wav

其他提示

看一下 库文件. 。它是一个使用广泛(包括 Audacity)的 C 库,可处理多种文件格式。支持多种CAF和WAV格式的读写。

CAF 文件结构WAV格式 非常相似。如果最坏的情况发生,转换应该不会太难。

它将涉及获取音频数据块,并按原样复制到 WAV 文件中,并使用音频描述块中的信息添加等效的内容 FMMT WAV 文件的子块。这是相当简单的字节复制。

但是,请注意(正如埃里克指出的那样)存在许可问题,请参阅: Libsndfile库可以在iPhone iOS上使用吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top