如何使用ios中的视频网址将从图库中挑选的视频转换为NSData?

问题描述:

我已经在使用Photo框架的collectionview中显示了图库中的所有视频。我已经解压缩PHCachingImageManager(PHAsset LIB)的视频的URL下面给出:如何使用ios中的视频网址将从图库中挑选的视频转换为NSData?

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) { 
     // Use the AVAsset avAsset 
     AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset]; 
     AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem]; 

     NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer]; 
     NSString *url=[NSString stringWithFormat:@"%@",vUrl]; 

     if (url.length>0) { 
      [videoInfo addObject:url]; 
     } 
    }]; 

至于我上传选择的视频,所以我将其转换为NSData的象下面这样:

NSData* data = [NSData dataWithContentsOfFile:selectedFileUrl options:0 error:&error]; 

越来越网址如:video url=file:///var/mobile/Media/DCIM/100APPLE/IMG_0165.MOV

但我收到的数据总是为空。

我在这里做错了什么?请帮忙!

谢谢!!!

+0

的NSData *数据= [NSData的dataWithContentsOfURL:[NSURL URLWithString:selectedFileUrl] ]。检查此 –

+0

尝试:'NSData * videoData = [NSData dataWithContentsOfURL:videoURL];' –

+0

谢谢@NAVEENKUMAR。我试着你们说什么......仍然没有成功 – sarita

检查:

NSData* data = [NSData dataWithContentsOfFile::[NSURL URLWithString: selectedFileUrl] options:nil error:&error]; 
+0

通常这是一个好主意,在你的答案中阐述代码。告诉你它是如何工作的,或者你在做什么。这有助于新开发人员准确理解发生了什么。 –

尝试用它

[imageManager requestAVAssetForVideo:asset options:nil resultHandler:^(AVAsset *avAsset, AVAudioMix *audioMix, NSDictionary *vidInfo) { 
     // Use the AVAsset avAsset 
     AVPlayerItem *playerItem = [AVPlayerItem playerItemWithAsset:avAsset]; 
     AVPlayer *videoPlayer = [AVPlayer playerWithPlayerItem:playerItem]; 

     NSURL *vUrl=[self urlOfCurrentlyPlayingInPlayer:videoPlayer]; 
     if (vUrl) { 
      [videoInfo addObject:vUrl]; 
     } 
    }]; 

现在你可以使用获得的数据:NSData *videoData = [NSData dataWithContentsOfURL:videoURL];

+0

谢谢!但它没有奏效 – sarita