可以通过使用AVPlayerItemLegibleOutput属性中的以下代码段来访问Core Media属性:
let output = AVPlayerItemLegibleOutput() let kCMTextMarkupAttribute_Alignment = "TextAlignment" let kCMTextMarkupAlignmentType_End = "End" let kCMTextMarkupAlignmentType_Middle = "Middle" let kCMTextMarkupAlignmentType_Start = "Start"
// 获取Core Media属性 output.setDelegate(self, queue: DispatchQueue.main) let coreMediaAttributes = output.mediaData(forMediaCharacteristic: AVMediaCharacteristic.legible)?.first?.fontAttributes
// 获取对齐属性 let alignment = coreMediaAttributes?[kCMTextMarkupAttribute_Alignment] as? String if alignment == kCMTextMarkupAlignmentType_End { // 当文本对齐到末端时执行的代码 } else if alignment == kCMTextMarkupAlignmentType_Middle { // 当文本对齐到中间时执行的代码 } else if alignment == kCMTextMarkupAlignmentType_Start { // 当文本对齐到开头时执行的代码 }