为什么AVAsset曲目对同一视频文件有不同的timeRange?

时间:2017-09-13 11:20:27

标签: ios swift video avasset

为什么AVAsset曲目对同一视频文件有不同的timeRanges?

我已在AVAsset中完整加载媒体文件。我打印此类的track属性并接收此信息。

▿ 2 elements
  - 0 : <AVAssetTrack: 0x17000fed0, trackID = 1, mediaType = vide>
  - 1 : <AVAssetTrack: 0x17000fe90, trackID = 2, mediaType = soun>

所以我有一个视频和一个同一媒体文件的声音AVAssetTrack

所以我打印每个AVAssetTrack的timeRange。

视频:

▿ CMTimeRange
  ▿ start : CMTime
    - value : 0
    - timescale : 1000
    ▿ flags : CMTimeFlags
      - rawValue : 1
    - epoch : 0
  ▿ duration : CMTime
    - value : 5000
    - timescale : 1000
    ▿ flags : CMTimeFlags
      - rawValue : 1
    - epoch : 0

声音。

▿ CMTimeRange
  ▿ start : CMTime
    - value : 0
    - timescale : 1000
    ▿ flags : CMTimeFlags
      - rawValue : 1
    - epoch : 0
  ▿ duration : CMTime
    - value : 5002
    - timescale : 1000
    ▿ flags : CMTimeFlags
      - rawValue : 1
    - epoch : 0

那么为什么声音AVAssetTrack的持续时间比视频的长?这是针对相同的视频文件。

1 个答案:

答案 0 :(得分:0)

我可以问这个文件来自哪里?也许它是由用户在单独编辑后合并音轨和视频轨道的用户创建的。在编辑文件时,他创造了这个小差异。通常,通过AVMutableComposition,您可以合并您想要的任何资产,时间范围不必相同。得到你的发现我不会感到惊讶。