我正在做一个项目,它需要我发送原始的无头乌拉或线性pcm数据到服务器。
我正在使用AVAudioRecorder,我可以很容易地将音频文件保存到手机上,但问题是,无论我尝试做什么,它们都会被包装在caf文件中,或者带有某种标题。
据我所知,caf文件只是原始音频数据的包装文件,这些音频数据可以是各种格式,包括线性pcm和ulaw.
所以我的问题是,我如何在没有caf包装器的情况下生成原始音频文件(即只是填充到文件中的无头原始音频),或者如果我录制包含原始Ulaw或线性pcm音频数据的caf,我如何轻松地进入并从caf文件中提取原始音频数据,而不考虑其他所有内容。
发布于 2010-10-21 06:07:56
如果您使用音频队列API进行录制,而不是使用AVAudioRecorder,则可以访问原始的PCM样本缓冲区,并可以将这些缓冲区写出到平面文件中,以便稍后发送到您的服务器。
发布于 2010-10-21 07:37:49
如果CAF中的音频数据已经是您需要的格式,我会使用AudioFile API抓取caf文件的音频数据,并在上传到我的服务器之前将其写入到一个无标题/原始文件中。
如果您需要转换CAF的数据,请使用ExtAudioFile接口。无论哪种方式,都很简单。
http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/AudioFileConvertRef/Reference/reference.html
http://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/Reference/reference.html
https://stackoverflow.com/questions/3982596
复制相似问题