嘿家伙我很好奇,如果有人能给我一个非常简短的描述如何在iOs 4中制作应用程序录制视频。我知道如何使用使用UIImagePickerController的os 3方法做所有媒体和诸如此不知道iOs4是否仍然可以使用,如果没有,有人可以给我一个关于如何使用新方法做一个非常简短的描述吗? (不需要代码,但非常受欢迎。)
- 谢谢你!
答案 0 :(得分:11)
这很简单。
我只是在界面上用一个按钮制作了一个基于视图的应用来测试它。按钮的动作是 - (IBAction)shootButtonPressed;
您必须检查设备是否支持视频录制,然后将图像选择器控制器配置为仅拍摄视频。此代码仅适用于实际设备。
在主视图控制器头中,我使它符合两个协议: UIImagePickerControllerDelegate和UINavigationControllerDelegate
然后我实现了这样的按钮按压方法;
- (IBAction)shootButtonPressed;
{
BOOL canShootVideo = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
if (canShootVideo) {
UIImagePickerController *videoRecorder = [[UIImagePickerController alloc] init];
videoRecorder.sourceType = UIImagePickerControllerSourceTypeCamera;
videoRecorder.delegate = self;
NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
NSArray *videoMediaTypesOnly = [mediaTypes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(SELF contains %@)", @"movie"]];
BOOL movieOutputPossible = (videoMediaTypesOnly != nil);
if (movieOutputPossible) {
videoRecorder.mediaTypes = videoMediaTypesOnly;
[self presentModalViewController:videoRecorder animated:YES];
}
[videoRecorder release];
}
}
你还需要实现另外两种方法来处理电影的拍摄和拍摄时间。选择并在用户取消摄像机选择器时。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissModalViewControllerAnimated:YES];
// save the movie or something here, pretty much the same as doing a photo
NSLog(@"movie captured %@", info);
}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
// process the cancellation of movie picker here
NSLog(@"Capture cancelled");
}
非常容易。
有关详细信息,请参阅多媒体编程指南 - >关于音频和视频 - >使用视频 - >录制和编辑视频。它出现在Apple Docs中,虽然我的口味有些分散。