作者ryanliang (暑假闲闲的大学生~~)
看板MacDev
标题Re: [问题] Buffer没有办法储存Audio data
时间Fri Oct 15 10:02:37 2010
※ 引述《zonble (zonble)》之铭言:
: 标题: Re: [问题] Buffer没有办法储存Audio data
: 时间: Fri Oct 15 03:58:48 2010
:
: ※ 引述《ryanliang (暑假闲闲的大学生~~)》之铭言:
: : - (IBAction)capture:(id)sender
: : {
: : }
: : 不知道是不是buffer的方式用错
: : 我这几天找了很多的buffer都没办法合用
: : 不知道是甚麽原因造成这样的结果
: : 希望版上的先进能够帮帮我
: : 感谢!!
:
: 刚刚稍微看了一下。
:
: 看来 QTCaptureDecompressedAudioOutput 这个 output 的假设就是
: 你要把 Audio 送到 Audio device 上面,所以传进来的 binary 资料,
: 是 PCM Audio 的 packets,每次传进来的资料,大概在 0.01 秒左右,
: 在收到这些 packets 之後,就是预期你用 CoreAudio API,像是用
: AudioQueue 之类的方式,直接把声音播出来。
:
: 我不太确定捕捉 0.01 秒左右的声音的目的是什麽,如果想要直接把
: 声音放出来,好像用 QTCaptureAudioPreviewOutput 会比较容易,
我已经有参考官方范例实作出即时把声音放出来,
就是用z大说PreviewOutput方法。
: 如果是想要录音,把声音录成档案,可能把 output 换成
: QTCaptureFileOutput,也会容易许多,而不需要自己把 PCM Packets
: 再透过 AudioUnit 编码。
:
: 老实说,每次看到 CoreAudio 都让人头大。 :/
:
感谢zonble大熬夜帮我看,谢谢!!
我主要在做的功能是撷取到linera PCM後,希望能在buffer里留住
资料,然後再经过Codec,输出成AAC的编码格式,然後显示在web上。
现在的流程大概像下面这样:
Video--x264 Codec
---- / \
|iSight|-QTCaptureSession web view
---- \ /
Audio--AAC Codec
从iSight经过CaptureSission将Video跟audio撷取出来,
再透过Codeo编码输出到web view上,大致的流程就是这样。
目前我看文件的方法,就像z大讲的放在AudioQueue里,但是现在问
题是我要做的是即时的影音输出,放在AudioQueue里面会不会来不
及输出,造成Frame跟Audio不同步的状况?
:
: --
: zonble.net
: cocoa.zonble.net
:
: --
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 114.44.184.149
: 推 mactaris:捕捉之後丢给iPhone? 10/15 07:01
丢给MAC上的web 之後才会尝试看看能不能丢到iPhone
现在是在写MAC上的AP
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.219.177.46