我正在做一个涉及视频捕获的项目。我本质上是想通过编程来捕获视频,这意味着我不希望任何摄像头或任何东西弹出;我只希望在按下两个按钮的时间之间录制视频。
我定义了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。我完全不明白为什么会发生这种情况;有人能提供一些建议吗?
发布于 2017-03-26 08:52:20
根据文档,在某些情况下,startVideoCapture会返回一个false值:
此方法可能会由于各种原因返回值false,其中包括以下原因:
电影捕获已在进行中
设备不支持电影捕获
设备的磁盘空间不足
首先要检查的是是否发生了上述任何一种情况。而且你是在设备上测试,而不是在模拟器上,对吗?
发布于 2019-03-04 20:58:29
试试这个..。
imagePicker.CameraCaptureMode = .video因为CameraCaptureMode //默认值是照片,而不是视频
或
也许你没有通知UIImagePickerController录制视频。所以试试下面这行
imagePicker.mediaTypes = [kUTTypeMovie as String]https://stackoverflow.com/questions/43023652
复制相似问题