2016-12-28 101 views
-3

我试过AVAssetLibrary,但它已弃用,并且出于该目的使用PHPhotoLibrary发出警告。我无法找到如何从iOS设备存储获取本地视频?如何从iOS设备(如iPhone和iPad)获取或获取设备视频?

请理解我不想从库中获取任何照片,但我只需要视频。

+0

你要打开图片库,并只显示电影类型的内容? –

+0

@DipankarDas我不知道任何关于这个PHPhotolibrary,请告诉我如何从iOS设备存储取回视频 – Group

+0

请花点时间阅读[如何问](http://stackoverflow.com/help/how-问)指南。要求“为我编写一些代码”的问题通常是不可接受的。向我们展示您尝试过的内容,提供一些相关代码并缩小您的问题范围。 – FelixSFD

回答

1

最后,我想出了使用MPMediaPropertyPredicate从iOS设备存储中获取视频的答案。请使用以下功能:

-(NSArray*) QueryVideos{  
    MPMediaPropertyPredicate *predicate = [MPMediaPropertyPredicate 
      predicateWithValue:[NSNumber numberWithInteger:MPMediaTypeAnyVideo] 
      forProperty:MPMediaItemPropertyMediaType];  
    if(predicate == nil) 
     return [NSArray array];   
    MPMediaQuery* mediaQuery = [[MPMediaQuery alloc] init]; 
    [mediaQuery addFilterPredicate:predicate];   
    allVideos = [mediaQuery items]; 
    return allVideos; 
} 

,并显示他们使用此代码:

 CollectionViewCell* cell = (CollectionViewCell*)[collectionView dequeueReusableCellWithReuseIdentifier:@"videoCell" forIndexPath:indexPath];    
     MPMediaItemCollection *cellItem = [videoArray objectAtIndex:indexPath.row];    
     NSString *title = [cellItem valueForProperty:MPMediaItemPropertyTitle]; 
     cell.title.text = title;    
     MPMediaItemArtwork *itemArtwork = [cellItem valueForProperty:MPMediaItemPropertyArtwork];    
     UIImage *image = [itemArtwork imageWithSize:CGSizeMake(100, 100)]; 
     if(nil == image) 
      image = [UIImage imageNamed:@"missed"];    
     cell.imageView.image = image; 
     //cell.artist.text = [song valueForProperty:MPMediaItemPropertyArtist];    
     cell.imageView.layer.cornerRadius = 10.f; 
     return cell; 
+0

您是否在使用选取器? –

+0

@BhavikRathod我不使用选择器 – Group