2016-12-28 105 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