我正在尝试为我的iPhone 3.0和iPhone 3.1.2设备实现视频录制功能。我为此创建了一个示例应用程序,并在UIView中保留了一个名为“Start Video”的按钮。然后,在单击“开始视频”按钮时,我会调用以下功能代码。
-(IBAction) StartVideo
{
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
imagePickerController.allowsEditing = YES;
//imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
imagePickerController.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
}
更新:当我检查以下代码段以查找是否支持视频时,它会将我作为视频不支持警报返回,如下所述。我不明白这里有什么问题?
NSArray *media = [UIImagePickerController availableMediaTypesForSourceType:
UIImagePickerControllerSourceTypeCamera];
if([media containsObject:(id)kUTTypeMovie])
{
imagePickerController.mediaTypes = [NSArray
arrayWithObjects:(id)kUTTypeMovie,nil];
[self presentModalViewController:imagePickerController animated:YES];
} else {
NSLog(@"Video not supported");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Nothing"
message:@"Video not supported"
delegate:self
cancelButtonTitle:nil
otherButtonTitles:@"Ok", nil];
[alert show];
[alert release];
}
我在3.0 2G和3.1.2 3G上测试了这个代码,但是当我点击“开始视频”并转到设备主屏幕时它崩溃了。我下载了一些名为“录制视频”的第三方免费视频录制应用,它工作得很棒,视频录制和共享文件非常好。 我想知道如何在iPhone 3.0,3.1.2和4.0设备上实现录制视频。 注意:我仅在2G和3G设备上进行测试。
有人可以指导我吗?
谢谢。
更新:
我用iPhone 3GS设备测试了代码(功能:StartVideo),它按预期工作。我不知道为什么它会在2G和3G手机上说“不支持视频”。
答案 0 :(得分:0)
您是否设置委托来处理UIImagePickerController
的回复?你需要设置一个委托(可能是你正在呈现选择器的视图控制器)来实现UIImagePickerControllerDelegate
协议