关于如何在iOs中录制视频的基本描述4

时间:2010-07-04 05:22:52

标签: iphone

嘿家伙我很好奇,如果有人能给我一个非常简短的描述如何在iOs 4中制作应用程序录制视频。我知道如何使用使用UIImagePickerController的os 3方法做所有媒体和诸如此不知道iOs4是否仍然可以使用,如果没有,有人可以给我一个关于如何使用新方法做一个非常简短的描述吗? (不需要代码,但非常受欢迎。)

- 谢谢你!

1 个答案:

答案 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中,虽然我的口味有些分散。