gpt4 book ai didi

ios5 - 存储录制的视频 URL 以便稍后保存到库

转载 作者:行者123 更新时间:2023-12-03 17:58:06 24 4
gpt4 key购买 nike

我有一个录制视频的应用程序。但是录制完成后,我无法立即保存视频。我需要先出示一份协议(protocol)。所以我尝试保存从图像选择器获得的 URL。稍后将视频保存到库中。
这在 iOS4 中运行良好,但在 iOS5 中不行。
我是 iOS 和 Objective-C 的新手,所以我可能对应该保存 URL 的属性做了一些完全错误的声明。

这是一些代码:

。H

#import <UIKit/UIKit.h>
#import <AssetsLibrary/AssetsLibrary.h>


@interface Video_recViewController : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate, UIActionSheetDelegate> {

NSURL *tempMoviePath;

}


@property (nonatomic, retain) NSURL *tempMoviePath;

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

NSURL *moviePath = [info objectForKey:UIImagePickerControllerMediaURL];
[self dismissModalViewControllerAnimated: YES];
NSLog(@"path from image picker: %@", moviePath);
tempMoviePath = moviePath;
NSLog(@"temp movie path: %@", tempMoviePath);
//
[self performSelector:@selector(showAgree) withObject:nil afterDelay:0.5];

}

- (void)userAgreed {
NSLog(@"user agreed");
//NSLog(@"temp movie path: %@", tempMoviePath);
[self saveMyVideo:tempMoviePath];
//[self performSelector:@selector(showSurvey) withObject:nil afterDelay:0.5];
}

- (void)saveMyVideo:(NSURL *)videoURL {

NSLog(@"saving movie at: %@", videoURL);

ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:videoURL])
{
[library writeVideoAtPathToSavedPhotosAlbum:videoURL
completionBlock:^(NSURL *assetURL, NSError *error){}
];
}
[library release];

}

didFinishPickingMediaWithInfo 时的日志输出为:
temp movie path: file://localhost/private/var/mobile/Applications/8CFD1CB7-70A0-465C-B730-817ACE5A4F78/tmp/capture-T0x119660.tmp.hNFzkY/capturedvideo.MOV

执行“saveMyVideo”时从日志中输出。网址突然变成了这个!! :
saving movie at: (
"0.31269",
"0.32899",
"0.63999",
"0.33001",
"0.3",
"0.6",
"0.15",
"0.05999"
)

最佳答案

(由 OP 在问题编辑中回答。见 Question with no answers, but issue solved in the comments (or extended in chat) )

OP写道:

The wrong code was:


tempMoviePath = moviePath;

Because I'm setting a declared property I must use the set & get methods. It should be:


[self setTempMoviePath:moviePath];

Apparently iOS 4 wasn't so hard on this, but iOS5 can't handle it. But, anyway, it was wrong writing like that. I admit my mistake. :)

关于ios5 - 存储录制的视频 URL 以便稍后保存到库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7914061/

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