在 iPhone 上捕获的视频,试图将其移动到另一个目录

Posted

技术标签:

【中文标题】在 iPhone 上捕获的视频,试图将其移动到另一个目录【英文标题】:Captured Video on iPhone, trying to move it to another directory 【发布时间】:2011-08-12 16:11:36 【问题描述】:

使用UIImagePickerController,我捕获了一个视频。当我调用[picker stopVideoCapture] 时,会调用下面的委托方法:

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info


    NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];

    NSError *error = nil;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];

    NSFileManager *fileManager = [[NSFileManager alloc] init];

    NSLog(@"attempting to copy: %@ to: %@", [url absoluteString], [NSString stringWithFormat:@"%@/rawMovie.MOV",path]);


if ([fileManager moveItemAtPath:[url absoluteString] toPath:[NSString stringWithFormat:@"%@/rawMovie.MOV",path] error:&error] != YES)
    NSLog(@"Can't move file with error: %@", [error localizedDescription]);


但是,当调用此方法时,它会返回错误读数:

The operation couldn’t be completed. (Cocoa error 4.)

据我所知,这意味着由于某种未知原因无法复制该文件。谁能给我一个更好的答案来解释为什么会抛出这个错误?或者,更好的是,谁能告诉我将捕获的视频直接保存到应用程序的文档目录的最佳方法?

谢谢, 詹姆斯

【问题讨论】:

毕竟我只是最终使用了 AVFoundation 而不是 UIImagePickerController。这样我就可以直接保存到文档目录。 【参考方案1】:

为什么不设置断点并查看*pathurl 的输出。另外,您是否有足够的磁盘空间在设备上存储您的视频?

【讨论】:

【参考方案2】:

我认为你需要使用默认的文件管理器:

NSFileManager* fileManager = [NSFileManager defaultManager];

您还可以记录错误的用户信息以获取(希望)更多详细信息。

NSLog(@"Can't move file with error: %@", [error userInfo]);

【讨论】:

以上是关于在 iPhone 上捕获的视频,试图将其移动到另一个目录的主要内容,如果未能解决你的问题,请参考以下文章

Android - 将视频从摄像头流式传输到另一个Android设备

在 android 设备上捕获视频并在 iOS 设备上播放

如何从充当服务器的 iPhone 流式传输视频?

在 iOS 设备上捕获视频并将其实时流式传输到服务器(或其他移动设备)

如何在 PHP 中将上传的文件移动到另一台主机

需要帮助将数据从一列移动到另一列