0

我正在从事一个涉及视频捕获的项目。我本质上想以编程方式捕捉视频,这意味着我不希望任何相机或任何东西弹出;我只想在按下两个按钮的时间之间录制视频。

我定义了图像选择器并在按下按钮时开始视频捕获:

if (UIImagePickerController.isSourceTypeAvailable(.camera)) {
        imagePicker.sourceType = .camera
        imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.front
        imagePicker.allowsEditing = false
        imagePicker.delegate = self
    }
    imagePicker.startVideoCapture()
    print("Capture started")

后来,我停止了视频捕捉:

imagePicker.stopVideoCapture()
print("capture over")

我知道这应该调用我的方法:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    print("captured")
}

由于某种原因,我的视频没有开始录制,因为布尔值 imagepicker.startvideocapture 返回 false。我完全不知道为什么会这样。有人可以提供一些建议吗?

4

2 回答 2

0

根据文档,在以下某些情况下startVideoCapture返回一个值:false

由于各种原因,此方法可能返回 false 值,其中包括:

电影拍摄已在进行中

该设备不支持电影拍摄

设备磁盘空间不足

首先要检查的是是否发生上述任何情况。而且您正在设备而不是模拟器上进行测试,对吗?

于 2017-03-26T00:52:19.617 回答
0

尝试这个..

imagePicker.CameraCaptureMode = .video

因为CameraCaptureMode// 默认是照片,而不是视频

或者

可能是您没有通知UIImagePickerController录制视频。所以试试这条线

imagePicker.mediaTypes = [kUTTypeMovie as String]
于 2019-03-04T12:58:28.687 回答