gpt4 book ai didi

iphone - MPMoviePlayerController 不播放新保存的视频文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:02 24 4
gpt4 key购买 nike

我正在使用 imagePickerController 来录制视频。在 imagePickerController:didFinishPickingMediaWithInfo: 函数中,我试图将视频设置为先前定义的 MPMoviePlayerController:

if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]){
NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
[self.moviePlayer setContentURL:movieUrl]];
}

这工作正常,视频确实在播放。但是我想保存文件以备后用。当我这样做并为 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]];
  • 或者这个(将临时视频文件复制到我的文档文件夹)

    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]];

没有任何成功,即使 newPath 中的文件确实存在...我做错了什么?

最佳答案

好吧,我终于找到问题了。事实上,问题不在于 MPMoviePlayerController,而在于这一行:

[self.moviePlayer setContentURL:[NSURL URLWithString:newPath]];

我通过将该行替换为以下内容来修复它:

[self.moviePlayer setContentURL:[NSURL fileURLWithPath:newPath isDirectory:NO]];

希望对其他人有所帮助!

关于iphone - MPMoviePlayerController 不播放新保存的视频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10012444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com