在Swift 3中向AVPlayerItem添加元数据

时间:2017-02-21 04:33:55

标签: 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()
    }
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

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