如何从iOS设备(如iPhone和iPad)获取或获取设备视频?
问题描述:
我试过AVAssetLibrary
,但它已弃用,并且出于该目的使用PHPhotoLibrary
发出警告。我无法找到如何从iOS设备存储获取本地视频?如何从iOS设备(如iPhone和iPad)获取或获取设备视频?
请理解我不想从库中获取任何照片,但我只需要视频。
答
最后,我想出了使用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
你要打开图片库,并只显示电影类型的内容? –
@DipankarDas我不知道任何关于这个PHPhotolibrary,请告诉我如何从iOS设备存储取回视频 – Group
请花点时间阅读[如何问](http://stackoverflow.com/help/how-问)指南。要求“为我编写一些代码”的问题通常是不可接受的。向我们展示您尝试过的内容,提供一些相关代码并缩小您的问题范围。 – FelixSFD