【问题标题】:Understanding AVAssetReader and AVAssetReaderTrackOutput了解 AVAssetReader 和 AVAssetReaderTrackOutput
【发布时间】:2014-07-28 11:01:12
【问题描述】:

我在程序中使用以下代码从录音中提取样本。我以为我理解了这个过程,但是当我阅读 Apples 开发者指南时,我并不完全理解 AVAssetReaderAVAssetReaderTrackOutput 是如何协同工作的。

AVAssetReaderTrackOutput 是否包含AVAssetReader 读取的磁道数据?当我像在这里[reader addOutput:output]; 那样将输出添加到阅读器时,输出是否被认为是阅读器使用的音频数据源?在开发人员指南中,它说addOutput“将给定的输出添加到接收器”。接收者到底是什么?

AVAssetReader *reader = [[AVAssetReader alloc] initWithAsset:self.audioAsset error:&error];
AVAssetTrack *songTrack = [audioTrackArray objectAtIndex:0];
AVAssetReaderTrackOutput *output = [[AVAssetReaderTrackOutput alloc] initWithTrack:songTrack outputSettings:outputSettingsDict];
[reader addOutput:output];

【问题讨论】:

    标签: ios cocoa-touch ios7


    【解决方案1】:

    AVAssetReader 保存数据,以访问您需要读取轨道的一些数据。音频和视频是不同的轨道。

    要获取数据,您需要分配一个 VAssetReaderTrackOutput。

    “Receiver”是函数中对象的首字母缩写(准确的说是“message”)。所以

    [receiver sendMessage:data];
    

    这是一个电影示例代码:http://www.7twenty7.com/blog/2010/11/video-processing-with-av-foundation

    【讨论】:

      猜你喜欢
      • 2017-01-16
      • 2012-02-13
      • 1970-01-01
      • 2018-05-06
      • 2012-07-09
      • 1970-01-01
      • 2012-03-19
      • 2012-06-20
      • 1970-01-01
      相关资源
      最近更新 更多