我正在开展一个涉及视频捕捉的项目。我本质上想以编程方式捕获视频,这意味着我不想要任何相机或任何东西弹出;我只想在按下两个按钮的时间之间录制视频。
我定义了imagepicker并在按下按钮时启动了视频捕获:
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。我完全坚持为什么会这样;有人可以提供一些建议吗?
答案 0 :(得分:0)
根据文档,startVideoCapture
在某些情况下会返回false
值:
此方法可能返回值 因各种原因出现错误,其中包括以下内容:
电影捕捉已在进行中
设备不支持电影捕捉
设备磁盘空间不足
要检查的第一件事是,如果发生任何上述情况。你正在测试设备而不是模拟器,对吗?
答案 1 :(得分:0)
尝试一下。
imagePicker.CameraCaptureMode = .video
因为CameraCaptureMode
//默认是照片,而不是视频
或
可能是您没有通知UIImagePickerController
录制视频。所以尝试这一行
imagePicker.mediaTypes = [kUTTypeMovie as String]