AVAssetTrack
AVAssetTrack 对象对资源的媒体轨道提供了轨道级别的检查接口。
概览
AVAssetTrack 遵守了 AVAsynchronousKeyValueLoading
协议,
符号
检查轨道(Inspecting Tracks)
// 轨道是资产的一部分(就是获取轨道引用的资源对象)
var asset: AVAsset?
// 获取轨道 id (轨道的唯一标识)
var trackID: CMPersistentTrackID
// 轨道的媒体类型
var mediaType: String
// 是否有指定的媒体特征(轨道引用的指定的媒体类型就返回 true 否则返回 false)
/*
AVMediaCharacteristicVisual(视觉 —— 视频)
AVMediaCharacteristicAudible (音频)
AVMediaCharacteristicLegible ()
更多的查看 AVFoundation Constants
*/
func hasMediaCharacteristic(String)
// 格式描述
var formatDescriptions: [Any]
// 根据存储在自己轨道里面的状态,轨道是否可用
var isEnabled: Bool
// 在当前环境是否可用播放
var isPlayable: Bool
时间属性(Temporal Properties)
var timeRange: CMTimeRange
var naturalTimeScale: CMTimeScale
轨道语音属性(Track Language Properties)
var languageCode: String?
var extendedLanguageTag: String?
视觉特征(Visual Characteristics)
var naturalSize: CGSize
var preferredTransform: CGAffineTransform
音频特征(Audible Characteristics)
var preferredVolume: Float
基本帧特征(Frame-Based Characteristics)
var nominalFrameRate: Float
var minFrameDuration: CMTime
var requiresFrameReordering: Bool
查找轨道片段 (Finding Track Segments)
var segments: [AVAssetTrackSegment]
func segment(forTrackTime: CMTime)
func samplePresentationTime(forTrackTime: CMTime)
管理元数据(Managing Metadata)
var metadata: [AVMetadataItem]
var commonMetadata: [AVMetadataItem]
var availableMetadataFormats: [String]
func metadata(forFormat: String)