如何使用 ios 中的视频 url 将从图库中挑选的视频转换为 NSData?
Posted
技术标签:
【中文标题】如何使用 ios 中的视频 url 将从图库中挑选的视频转换为 NSData?【英文标题】:How to convert the video picked from gallery into NSData using video url in ios? 【发布时间】:2017-04-17 11:50:11 【问题描述】:我已经使用 Photo 框架在 collectionview 中展示了所有画廊的视频。我已经从 PHCachingImageManager (PHAsset lib) 中提取了视频网址,如下所示:
[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];
获取如下 URL:video url=file:///var/mobile/Media/DCIM/100APPLE/IMG_0165.MOV
但我总是将数据设为 null。
我在这里做错了什么?请帮忙!
谢谢!!!
【问题讨论】:
NSData * data =[NSData dataWithContentsOfURL:[NSURL URLWithString: selectedFileUrl]];检查这个 试用:NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
谢谢@NAVEENKUMAR。我试过你们说的......仍然没有成功
那么您的网址出现问题...您从本地获取视频的路径...保存的视频..?
是的@NAVEENKUMAR 他们是本地视频...从相机录制
【参考方案1】:
检查一下:
NSData* data = [NSData dataWithContentsOfFile::[NSURL URLWithString: selectedFileUrl] options:nil error:&error];
【讨论】:
通常最好在你的答案中解释代码。讲述它是如何工作的或者你到底在做什么。这有助于新开发人员准确了解正在发生的事情。【参考方案2】:试试看
[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];
【讨论】:
以上是关于如何使用 ios 中的视频 url 将从图库中挑选的视频转换为 NSData?的主要内容,如果未能解决你的问题,请参考以下文章