作者ryanliang (暑假闲闲的大学生~~)
看板MacDev
标题Re: [问题] 请问iPhone有办法将接收道的声音直接放 …
时间Thu Jan 6 15:35:32 2011
※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: ※ 引述《zonble (zonble)》之铭言:
: : 我那段程式的写法是,直接把装满的 input buffer,copy 到
: : 一个 output buffer 里头。就是 memcpy 那一行在做的事情。
: 那我懂了,memcpy把inBuffer里的资料丢到output buffer里去,这样
: 一来,inBuffer里就没有data了,所以要让它回到inAQ去排队等,然
: 後下一个满的inBuffer再进来,一直循环。
: 原来是这麽回事,感谢zonble大!!!!
事隔已久,借个标题再问一下。
前情题要一下,之前设定的Audio格式是Linear PCM,将未压缩的资料丢进
三个Buffer中,之後再透过OutputBufferHandler把装满的Buffer拿去倒,
大致上是这样。
现在遇到了一个问题。我将Audio的格式及参数改成AAC的格式及参数後,
OutputBufferHandler就不会work了。
我先写了一个小的测试程式用同样的方法,去做录音的动作。
但我把OutputBufferHandler给拿掉,直接在InputBufferHandler里面把资料
用AudioFileWritePackets写到档案里去也是可以work,而我写入档案的格式
是用AAC编码,也是可以顺利存成AAC的档案。
这证明了Audio Queue Services是可以做Audio Encode的,我纳闷的是为什
麽换了格式,OutputBufferHandler就不会动作了?
希望板上先进给我一点意见
谢谢~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.177.46
1F:→ zonble:如果你是要读取档案的话,要先把档案从其他格式转成 01/06 18:03
2F:→ zonble:Linear PCM,然後再丢到 output queue 去 01/06 18:04
3F:→ zonble:查一下 AudioFile 开头的 API,里头有帮你转换 audio file 01/06 18:05
4F:→ zonble:的相关 API 01/06 18:05
5F:→ zonble:说错,转换格式的是 AudioConverter 01/06 18:06
6F:→ zonble:看一下 AudioConverterConvertBuffer 01/06 18:06