gpt4 book ai didi

ios - PHAsset fetchAssetsWithMediaType :PHAssetMediaTypeVideo returns no videos

转载 作者:可可西里 更新时间:2023-11-01 05:44:08 24 4
gpt4 key购买 nike

已编辑 从标题中删除了版本,但这是从 iOS 8.1 开始的

我有一个我构建的应用程序,可以播放来自用户 Photos.app 的视频。当我在 8.0.2 设备上安装应用程序时,我从 [PHAsset fetchAssetsWithMediaType:options:] 调用中取回视频列表没有问题,但是当我在 8.1 设备上安装完全相同的代码时,我返回了 0 个视频。有人遇到过这个吗? 8.1 是否改变了我们应该再次从 Photos.app 访问照片/视频的方式?

PHFetchOptions *options = [[PHFetchOptions alloc] init];
PHFetchResult *videos = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeVideo options:options];

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

更新

修改了我的代码以使用 PHAssetCollection 调用来尝试获取相册,我取得了一些成功,现在在这两个版本上我都获得了 6 个视频中的 3 个(不幸的是,每次都不是相同的 3 个)。

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchKeyAssetsInAssetCollection:collection[0] options:nil];

编辑 #2

好吧,我刚刚在上面的代码中看到了我的错误,我将把它留给任何做我做过同样愚蠢事情的人。我的视频获取线正在调用“关键” Assets ,这就是为什么我只获得 3 个 Assets 的原因。

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];

最佳答案

self 回答,所以如果其他人遇到这个问题,他们可能会有答案。

所以我仍然不确定为什么我的原始代码在升级到 8.1 后不起作用,但我在编辑 #2 中的代码通过从另一个方向解决了这个问题。

PHFetchResult *collection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumSyncedAlbum options:options];
PHFetchResult *videos = [PHAsset fetchAssetsInAssetCollection:collection[0] options:nil];

关于ios - PHAsset fetchAssetsWithMediaType :PHAssetMediaTypeVideo returns no videos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26598655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com