Joh*_*ann 2 iphone video mpmovieplayercontroller uiimagepickercontroller ios
我正在使用imagePickerController来录制视频.在imagePickerController:didFinishPickingMediaWithInfo:
函数中我试图将视频设置为先前定义的MPMoviePlayerController:
if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]){
NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
[self.moviePlayer setContentURL:movieUrl]];
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,视频确实在播放.但我想保存文件供以后使用.当我这样做并将保存的文件用于moviePlayer时,没有任何反应:
我试过这个(将数据保存到新文件)
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *newPath = [directory stringByAppendingPathComponent:@"myMovie.mov"];
NSData *videoData = [NSData dataWithContentsOfURL:movieUrl];
[videoData writeToFile:newPath atomically:NO];
[self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];
Run Code Online (Sandbox Code Playgroud)或者这个(将临时视频文件复制到我的文档文件夹)
NSString *directory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *newPath = [directory stringByAppendingPathComponent:@"myMovie.mov"];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
[fileManager copyItemAtPath:[videoUrl path] toPath:newPath error:&error];
[self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];
Run Code Online (Sandbox Code Playgroud)没有任何成功,即使文件newPath
确实存在......我做错了什么?
Joh*_*ann 10
好的,我终于找到了这个问题.问题实际上不是MPMoviePlayerController,而是使用以下行:
[self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];
Run Code Online (Sandbox Code Playgroud)
我通过用以下代码替换该行来修复它:
[self.moviePlayer setContentURL:[NSURL fileURLWithPath:newPath isDirectory:NO]];
Run Code Online (Sandbox Code Playgroud)
希望能帮助别人!
归档时间: |
|
查看次数: |
2093 次 |
最近记录: |