代码之家  ›  专栏  ›  技术社区  ›  Blindy

如何在iOS中枚举家庭视频?

  •  1
  • Blindy  · 技术社区  · 6 年前

    我知道如何使用 PHPhotoLibrary ,但通过iTunes添加为“家庭视频”的视频,仅通过家庭视频部分下的新电视应用程序可见,不会出现在该枚举中。

    有没有其他方法可以查询它们?

    1 回复  |  直到 6 年前
        1
  •  3
  •   gi097 Sildoreth    6 年前

    嗯,看起来你唯一能尝试使用的是 媒体播放器 API的。

    https://developer.apple.com/documentation/mediaplayer/mpmediaquery

    一种查询,指定设备媒体中的一组媒体项 通过筛选器和分组类型的库。

    这可能有用,因为我假设您同步的电影是媒体库的一部分,而不是照片库的一部分。

    首先你需要添加 NSAppleMusicUsageDescription 给你的 Info.plist . 那我们就可以用 MPMediaQuery 过滤掉家庭视频项目。

    let predicate: MPMediaPropertyPredicate = MPMediaPropertyPredicate(value: MPMediaType.homeVideo.rawValue, forProperty: MPMediaItemPropertyMediaType)
    
    let query: MPMediaQuery = MPMediaQuery.init()
    query.addFilterPredicate(predicate)
    
    let items = query.items
    
    for item : MPMediaItem in items!
    {
        // Here is your home video
    }
    

    MPMediaTypeHomeVideo 项目: https://developer.apple.com/documentation/mediaplayer/mpmediatype/mpmediatypehomevideo

    现在 items 应该包含你所有的家庭视频。

    编辑:我测试过它,但它在iOS 12上对我有效 title 好像是空的。您可以使用 assetURL 财产。