0

我想列出所有视频。不仅是照片库中的视频,还包括视频应用程序中的视频,包括电影、电视节目、音乐视频等进入我的应用程序。

当我像这样使用 ALAsset 时:

ALAsset *asset = [videoLibrary objectAtIndex:indexPath.row];
videoURL = [[asset defaultRepresentation] url];
[videoURLs addObject:videoURL];
[cell.textLabel setText:[NSString stringWithFormat:@"Video %d", indexPath.row+1]];
[cell.imageView setImage:[UIImage imageWithCGImage:[asset thumbnail]]];

在 (UITableViewCell *)tableView:cellForRowAtIndexPath: 方法中,只会显示照片库中的视频。有没有办法获得所有类型?

提前致谢

4

2 回答 2

0

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    NSMutableArray *assetGroups = [[NSMutableArray alloc] init];
    NSMutableArray *assetURLDictionaries = [[NSMutableArray alloc] init];

    // Process assets
    void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
        if (result != nil) {   
           if([[result valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypeVideo]){
                [assetURLDictionaries addObject:[result valueForProperty:ALAssetPropertyURLs]];
                NSURL *url = result.defaultRepresentation.url;
                [assetLibrary assetForURL:url
                              resultBlock:^(ALAsset *asset) {
                                  if (asset) {
                                      @synchronized(assets) {
                                          [systemVideoArray addObject:asset];
                                          [self.mTableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
                                      }
                                  }
                              }
                             failureBlock:^(NSError *error){
                                 NSLog(@"operation was not successfull!");
                             }];
            }
        }
    };
于 2014-04-28T10:22:01.947 回答
0

我想您需要检索 IOS 设备上的所有视频,您可以 在这篇文章中找到相同的代码

于 2013-04-23T16:57:40.160 回答