Ios 如何将mp4转换为NSData?

Ios 如何将mp4转换为NSData?,ios,video,nsdata,Ios,Video,Nsdata,我有一个名为vvideo.mp4的XCode文件。我正在尝试将其转换为NSData,如下所示 NSData *data = [NSData dataWithContentsOfFile:@"vvideo.mp4" options:nil error:nil]; 但当我记录数据时,它返回null 将任何视频转换为NSData的正确方法是什么 文件被添加并在Xcode中正确复制,您可以在这里看到 已编辑的问题…dataWithContentsOfFile:options:error:采用文

我有一个名为vvideo.mp4的XCode文件。我正在尝试将其转换为NSData,如下所示

    NSData *data = [NSData dataWithContentsOfFile:@"vvideo.mp4" options:nil error:nil];
但当我记录数据时,它返回null

将任何视频转换为NSData的正确方法是什么

文件被添加并在Xcode中正确复制,您可以在这里看到


已编辑的问题…

dataWithContentsOfFile:options:error:
采用文件路径而非文件名。如果视频文件在应用程序包中,您应该执行以下操作:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"vvideo" ofType:@"mp4"];

NSError *error = nil;
NSData *data = [NSData dataWithContentsOfFile:filePath options:nil error:&error];
if(data == nil && error!=nil) {
    //Print error description
}
与其将
error
参数作为
nil
传递值传递,它将有助于理解错误条件(如果发生)


希望有帮助

这是正确的方法。您的文件不能这样命名,否则您的项目中没有包含它。我的意思是,这将创建一个NSData,其中包含加载到内存中的文件内容。因此,在RAM中加载一整部电影也是让你的设备屈服的正确方法。编辑问题,检查几秒钟,只有10秒钟的视频,先生……2013-10-24 17:09:56.793 GascoLiveStream[17380:c07]***由于未捕获的异常“NSInvalidArgumentException”终止应用程序,原因:***-[NSConcretedData initWithContentsOfFile:选项:错误:]:nil file argument'@Duaan Print
filePath
并检查其是否正确,传递
error
argument并检查错误。选项:nil这是问题和警告daer@Duaan警告是什么?您可以将其作为
NSDataReadingUncached
@Duaan传递,然后检查我的编辑,传递
NSError
参数。打印它并检查错在哪里?请告诉我。