私は、ユーザーのビデオを見て、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)")
}
items
配列から使用したい MPMediaItem を選択すると、それに対応するassetURL
があります。
問題は、私のデバイスでは、すべてのassetURL
プロパティが NULL であることです。偶然にも、hasProtectedAsset
これらの項目のそれぞれについて は ですがfalse
、isCloudItem
これらの項目のそれぞれについて は ですtrue
。
assetURL
任意のメディア プレーヤーに渡すことができるValid をどのように考え出すことができますか? 開発者がユーザーの iPod ライブラリ内のメディアへの適切な参照とアクセスを取得できないというのは、いささか偽物に感じられます。