我有一个vidoe应用程序,她所做的就是播放单个.mp4文件。 我想将该文件保存到将要播放的iphone中的相机胶卷。 我已经有了代码,但出于某种原因,视频无法保存。
没有错误,似乎没有错位,但仍然无法保存。 我花了几个小时来解决这个问题,但没有任何问题。 如果有人可以帮我搞清楚吗?请?好吗? 这是保存功能的代码...
- (IBAction)save{
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
// don't forget to link to the AssetsLibrary framework
// and also #import <AssetsLibrary/AssetsLibrary.h>
NSString *filePathString = [[NSBundle mainBundle] pathForResource:@"video_name" ofType:@"mp4"];
NSURL *filePathURL = [NSURL fileURLWithPath:filePathString isDirectory:NO];
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:filePathURL]) {
[library writeVideoAtPathToSavedPhotosAlbum:filePathURL completionBlock:^(NSURL *assetURL, NSError *error){
if (error) {
// TODO: error handling
} else {
// TODO: success handling
}
}];
}
}
答案 0 :(得分:1)
对不起,之前没有人回答这个问题。如果您仍然需要帮助,这应该适合您:
- (IBAction)save{
NSString *filePathString = [[NSBundle mainBundle] pathForResource:@"video_name" ofType:@"mp4"];
NSURL *filePathURL = [NSURL fileURLWithPath:filePathString isDirectory:NO];
UISaveVideoAtPathToSavedPhotosAlbum([filePathURL relativePath], self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
}
- (void) video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
if (!error){
// Saved successfully
} else {
// Error saving
}
}