【发布时间】:2011-07-07 13:40:44
【问题描述】:
我需要以半直播流类型的方式从 AVCaptureSession 获取数据流。根据我使用 AVFoundation 的经验,我只能将文件写入磁盘,然后再将其读出。
有没有办法在数据通过流传输到服务器时捕获数据?
谢谢!
【问题讨论】:
-
如果您想发送原始 PCM,那么您可以从 CMSampledBuffer 中获取所有数据。查看 CMSampleBuffer.h 和 CMSampleBuffer 参考,了解如何获取数据。如果要流式传输 AAC,则需要使用 CoreAudio。您可以使用简单的 AudioQueue 服务来做到这一点。如果您需要更多控制,例如使用 AAC-LD 或音频消除,那么您将需要使用 AudioUnits。查看 Kevin Avila 和 Chris Adamson 的 CoreAudio 书籍。我使用 AudioQueue 录制代码作为将 AAC 音频流式传输到服务器的测试用例。
标签: iphone ios cocoa-touch ipad avfoundation