ios - UIImagePickerController:startVideoCapture() 不起作用
问题描述
我正在尝试使用 开始视频捕获UIImagePickerController
,但.startVideoCapture()
每次都返回 false。
import UIKit; import AVFoundation
class ViewController: UIViewController {
var videoPickerController = UIImagePickerController()
@IBOutlet weak var button: UIButton!
var isRecording = false
@IBAction func record() {
if isRecording {
videoPickerController.stopVideoCapture()
} else {
let res = videoPickerController.startVideoCapture()
print(res) // always prints 'false', recording never starts
}
isRecording.toggle()
}
override func viewDidLoad() {
super.viewDidLoad()
switch AVCaptureDevice.authorizationStatus(for: .video) {
case .authorized:
initCamera()
case .notDetermined:
AVCaptureDevice.requestAccess(for: .video) { [weak self] granted in
if granted {
self?.initCamera()
}
}
default:
return
}
}
private func initCamera() {
videoPickerController.sourceType = .camera
videoPickerController.mediaTypes = [UTType.movie.identifier]
videoPickerController.allowsEditing = false
videoPickerController.cameraCaptureMode = .video
videoPickerController.cameraDevice = .front
view.frame = videoPickerController.cameraOverlayView?.frame ?? .zero
videoPickerController.cameraOverlayView = view
videoPickerController.delegate = self
videoPickerController.showsCameraControls = false
videoPickerController.videoQuality = .typeIFrame960x540
videoPickerController.videoMaximumDuration = 200
}
}
extension ViewController3: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
print("")
}
}
可能是什么原因?谢谢您的帮助
解决方案
推荐阅读
- machine-learning - 为什么 optuna 在计算完所有超参数后会停留在试验 2(trial_id=3)?
- rust - 如何将最新版本的合同托盘与基板v2.0.0集成
- javascript - 为什么我在输入详细信息后单击提交按钮时不起作用?
- c# - 如何在传递的 ViewModel 中更新刚刚选择的字段
- configuration - 如何将 CloudFlare 规则转换为 HAPROXY?
- ios - 无法使用颤振启动器图标更改 iOS 中的应用程序图标
- javascript - 将一种语言转换为另一种语言的一般方法是什么?
- ppp - 如何在 pppd 日志文件中显示发现阶段日志
- javascript - NodeList 的最后一次迭代(?)导致 Uncaught TypeError
- google-chrome - 如何在 Google Chrome 的 Omni 栏中使用 Google 输入工具