11

我正在研究查看用户视频并通过采用 URL 的 AVPlayerItem 将它们传递给 AVPlayer 的代码。

要获取 iOS 设备上的所有视频,您可以执行以下操作:

let videoNumber = MPMediaType.anyVideo.rawValue
let predicate = MPMediaPropertyPredicate.init(value: videoNumber, forProperty: MPMediaItemPropertyMediaType)
let query = MPMediaQuery.init()
query.addFilterPredicate(predicate)

if let items = query.items
{
    mediaCollection = MPMediaItemCollection(items: items)

    // -1 would indicate an error condition
    print("number of items in collection is \(mediaCollection?.count ?? -1)")
}

当您从数组中选择要使用的 MPMediaItem 时items,应该有一个assetURL可以使用的选项。

麻烦的是,在我的设备上,我的所有assetURL属性都是 NULL。巧合的是,虽然hasProtectedAsset这些项目中falseisCloudItem每一个都是 ,但这些项目中的每一个都是true

我怎样才能想出一个assetURL可以传递给任何媒体播放器的有效信息?开发人员无法在用户的 iPod 库中获得正确的引用和访问媒体的感觉有点虚假。

4

0 回答 0