【问题标题】:AVCaptureSession, multiple AVCaptureAudioDataOutputsAVCaptureSession,多个 AVCaptureAudioDataOutputs
【发布时间】:2013-01-13 07:58:53
【问题描述】:

环境

  • 手机
  • arm7/sdk6.0
  • xcode 4.5

用例

  1. 基于 AVCam 示例
  2. 使用 AVCaptureMovieFileOutput 将 A/V 捕获到文件中
  3. 添加额外的 AVCaptureAudioDataOutput 以在录制时截取正在写入文件的音频

操作方法

  1. 将视频输入添加到 Capture 会话
  2. 向 Capture 会话添加音频输入
  3. 将文件输出添加到捕获会话
  4. 将音频输出添加到 Capture 会话
  5. 配置
  6. 开始录制

问题

似乎音频输出是互斥的,因此,要么我将数据写入磁盘,要么我调用 AVCaptureAudioDataOutput 捕获委托,当添加 AVCaptureMovieFileOutput 时(顺序无关紧要), AVCaptureAudioDataOutput 委托不是调用。

  • 如何解决这个问题?如何让“AVCaptureAudioDataOutput”触发它的委托/选择器,同时使用“AVCaptureMovieFileOutput”将数据写入磁盘?
  • 除了使用较低级别的 API(例如。 AVAssetWriter 等人?

任何帮助将不胜感激!

【问题讨论】:

    标签: iphone objective-c avfoundation multimedia avcapture


    【解决方案1】:

    AVAssetWriter 将与 AVAssetWriterInputPixelBufferAdaptor 一起使用,可以在 here 找到一个很好的例子来说明如何实现这一点。
    然后,在调用“AVCaptureAudioDataOutputSampleBufferDelegate”时,可以传播原始音频缓冲区以进行进一步处理(与将数据写入磁盘并行)。

    【讨论】:

      猜你喜欢
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2013-05-09
      相关资源
      最近更新 更多