ios - 在 Swift 3 中将元数据添加到 AVPlayerItem

标签 ios swift metadata avplayer

我试图将标题与 AVPlayerItem 相关联,但似乎无法正常工作。根据 Apple 的文档,我应该可以使用 AVPlayerItem.externalMetadata.append(value) 来完成此操作,但我似乎无法让它工作。 编译器返回消息“'AVPlayerItem' 类型的值没有成员'externalMetadata.'”因为我做了很多搜索并且没有找到任何有类似问题的人,我想我一定是失踪了很明显的东西。这是我尝试使用的功能:

func enqueue(avAsset: AVURLAsset, title:String) {
    let item = AVPlayerItem(asset: avAsset)

    let titleMetadata = AVMutableMetadataItem()
    titleMetadata.identifier = AVMetadataCommonKeyTitle
    titleMetadata.value = title as (NSCopying & NSObjectProtocol)?
    item.externalMetadata.append(titleMetadata)
    self.player.insert(item, after: nil)
    if player.rate == 0 {
        self.startPlaying()
    }
}

如有任何帮助,我们将不胜感激。

最佳答案

externalMetadata是 tvOS 独有的属性。在 API Reference 的右侧栏中,在 SDK 部分下,那里只有“tvOS 9.0+”。 iOS 根本不可用。

更新:该属性现在也支持 iOS 12.0+。您现在应该可以使用它了。

关于ios - 在 Swift 3 中将元数据添加到 AVPlayerItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42358748/

相关文章:

javascript - 如何发送带有附加元数据的 html,以便 JS(ajax)知道如何处理响应?

ios - 我们如何使用 swift 在 UITableView 部分标题中添加图像?

ios - Swift viewForAnnotation pin zposition 不在顶部

ios - UITextView - 使用在 UITableViewCell() 中选择的所有文本开始编辑

ios - 如何在 Swift 的 Spritekit 中创建动态位​​置

java - 下载带有元数据/属性(如标题、艺术家等)的 mp3

ios - APNS - 将应用程序从生产中转移到开发中

ios - 添加 TabView 使 Navigation Bar 无法覆盖 SwiftUI 中的安全区域

arrays - swift 3 : Dictionary from large arrays

amazon-web-services - 有没有办法获取ecs实例元数据?