我很难在iPhone上记录一些不是线性PCM的东西:-(我找到的样本(SDK的SpeakHere、Zdziarski和Sadun的书以及trailsinthesand.com上的一本)都使用线性PCM,但我想要一种常用的压缩格式(不使用ima4或任何名字.)。
我只是不知道如何调整要使用的示例代码,例如AAC、MP3或AMR。任何建议和提示,如何做到这一点是非常感谢的!
(顺便说一句,我认为由于许可问题,MP3编码器和AMR编码器是不可用的,但是AAC确实存在,还是??)
编辑/更新:I无意中在苹果的"iPhone应用程序编程指南“( 2009-01-06 )第137页第一节:录制音频:
“您可以在”iPhone OS中的首选音频格式“(第140页)中列出的任何格式中记录音频,并且在第140页上的首选音频格式是:”当每次播放一个声音时,以及当您不需要与iPod应用程序同时播放音频时,请使用打包在CAF或m4a文件中的AAC格式。“
因此,我认为这是一个明确的指示,它不仅是可能的,而且更可取的是,以m4a文件包装的AAC格式记录音频,这正是我想要的。但是,我还是不能做到这一点?!
谢谢,/John
发布于 2009-03-24 16:43:28
继续看那些文件。在“核心音频要点”中,“核心音频插件:音频单元和编解码器”一节指出:
iPhone操作系统包含表2-5中列出的记录编解码器.如您所见,MP3和AAC记录都不可用。这是由于这些格式的CPU开销较高,以及由此导致的电池损耗。
表2-5列出了几种格式,但由于文本注释不包括您要寻找的格式。如果你想要这些格式,你必须带上你自己的编码器。
发布于 2009-08-05 02:01:47
使用faac将iPhone输出的线性pcm文件转换为aac格式的技巧:
通过实验,我发现您必须在命令行版本的faac (运行在Mac上)上使用-X标志,它“交换输入字节”。(我想它改变了宿命论。)
因此,例如,如果您在您的linear.pcm上录制了文件iPhone,那么您可以运行:
faac -XP linear.pcm在您的mac上将其转换为aac文件linear.aac。
我猜这意味着你可以在你的应用程序中使用faac进行转换,如果你愿意的话,因为它是一个C库。
还请注意,从技术上讲,iPhone的音频服务输出的文件通常是CAF文件,Core格式,这是一种围绕着一堆可能编码的包装格式:苹果在咖啡厅的文档。上面的命令行对我来说很好,即使linear.pcm从caff头开始。
发布于 2009-03-24 10:45:10
你试过差劲的 mp3编码器了吗?还是faac/faad AAC编解码器?您可以将它们嵌入到ffmpeg中以获得更多的音频编解码器。
https://stackoverflow.com/questions/676750
复制相似问题