作者sinread (电脑真耗钱)
看板MacDev
标题Re: [问题] 请问iPhone有办法将接收道的声音直接放 …
时间Mon Feb 14 21:36:08 2011
※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: ※ 引述《sinread (电脑真耗钱)》之铭言:
: : 请问一下, 在设定audioDescription的地方
: : 不是应该可以设定为kAudioFormatMPEG4AAC
: : 这样子还需要另外处理aac的decode嘛?
: 基本上经过我测试跟我去google的结果,可以在mFormatID去设定你
: 要用的Codec.诸如AAC,AppleLossLess,WAV,CAF,AIFF都可以,唯一的
: 关键在於你的mFormatFlags,mBitsPerChannel,mBytesPerPacket,
: mBytesOerFrame,mFramePerPacket....等等的参数.
: 我是认为,Audio Queue Services会自行去判断你输入的格式属性是
: 否符合该格式的特性.举例来说:LinearPCM的格式最为完整,官网提供
: 的值一定可以Work,但换成AAC之後,mFramePerPacket就不可能为"1",
: 因为LPCM是CBR格式,而AAC是VBR格式,两者是有差异的,不过小弟学艺
: 不精没有办法很详细的说明差异在哪,不做最到的差异是CBR格式有固
: 定的资料长度,而VBR则是变动的,所以每个Packet的Frame都不一定.
: 我现在遇到的一个问题是,我用AAC的Codec去做AQ,出来也是AAC压过的
: 资料,但我只有将输出的附档名设定为.caf(kAudioFileCAFType,在
: CreateURL那里),才可以顺利的拨出AAC的声音档,其它的附档名一律无
: 法辨认,就连Apple自己的.m4a也无法work,所以我现在也还在尝试.
: 不过,如果你上面的设定都是对的,也能顺利录出声音,应该是不需要去管
: Decode的处理,它应该会自动帮你处理好.
: 感谢你的提问,等我有进展在上来一起讨论.
: 感谢~~
Hi all,
小弟目前正在测试解aac streamming~~
我又翻了一遍document, 上面有说到
"Audio Queue Services employs codecs (audio data coding/decoding components)
as needed for converting between audio formats.
Your recording or playback application can use any audio format for which
there is an installed codec.
You do not need to write custom code to handle various audio formats"
(随便断行请勿见怪)
也就是说像aac这样的格式理论上不需要我们去将它转成LPCM,
不过说归说, 我试了一整天目前为止还是没办法让aac直接就出声~
小弟很俗辣的跑去论坛求救XD, 有好消息再过来跟各位报告~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.219.26.209