Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS视频录制-仅允许我拍照_Ios_Objective C_Video_Uiimagepickercontroller_Recording - Fatal编程技术网

iOS视频录制-仅允许我拍照

iOS视频录制-仅允许我拍照,ios,objective-c,video,uiimagepickercontroller,recording,Ios,Objective C,Video,Uiimagepickercontroller,Recording,我有一个需要录制视频的应用程序。代码如下: - (IBAction)takeVideo:(UIButton *)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; picker.allowsEditing = YES; picker.sourceType = UIImagePickerController

我有一个需要录制视频的应用程序。代码如下:

- (IBAction)takeVideo:(UIButton *)sender
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;
    picker.allowsEditing = YES;
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
    picker.mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeMovie, nil];

    [self presentViewController:picker animated:YES completion:nil];
}

它在其他应用程序中工作得很好,但在我当前的应用程序中,它打开了相机,没有录制按钮,只有图像捕获按钮。我还注意到,当这种情况发生时,iOS摄像头应用程序将失去录制功能。有什么想法吗?

将此属性添加到选择器中,然后 要指定源的所有可用媒体类型,请使用以下语句:

picker.cameraCaptureMode= UIImagePickerControllerCameraCaptureModeVideo; 选择器.媒体类型= [UIImagePickerController可用于源类型的中间类型: UIImagePickerControllerSourceTypeCamera]


我也遇到了同样的问题,我发现如果你确定AVAudioSession类别为Record,它将允许你录制视频。如果未设置为该值,则默认为静止照片捕捉器

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryRecord);

我将UIImagePickerController子类化,并在LoadView内部设置了类别。

不起作用,出现此错误,由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因是:“cameraCaptureMode 1不可用,因为MediaType不包含public.movie”。奇怪的是,我可以记录那个公共的。电影是一种媒体类型。