作者roses (.........)
看板MacDev
标题Re: [问题] 请问iPhone有办法将接收道的声音直接放 …
时间Wed Dec 21 14:44:02 2011
小弟现在要从ipcam上的mic和喇叭读取和传送声音,
在网路上找资料,发现可以用AudioQueue来实作,
但是网路上AudioQueue的例子,大多都写得很复杂看不太懂,
看到了这篇文章的范例程式浅显易懂,也应该可以符合我的程式需求,
我现在可以从ipcam上read到声音的data,ipcam的声音输出是GSM格式33byte,
现在不知道如何将read到的资料(NSdata格式)把他转成LinearPCM格式来输出,
也不知道如何将mic read到的资料(AudioBufferRef格式),
转成ipcam的GSM格式然後送出。
不知道有没有什麽方法或是其他的API可以做到这样的需求。
※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: ※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: : 那我懂了,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: 111.240.155.32
1F:推 sinread:转成PCM後用OpenAL 来播放, 简单好用, 个人觉得AudioQueue 12/29 13:20
2F:→ sinread:长得不太好看... 而且OpenAL有跨平台的优势 12/29 13:20