私はビデオキャプチャを含むプロジェクトに取り組んでいます。私は本質的にプログラム的にビデオをキャプチャしたい。Swift ImagePicker VideoCapture didFinishPickingMediaが呼び出されていません
私はimagepickerを定義し、ビデオキャプチャを開始しました:
if (UIImagePickerController.isSourceTypeAvailable(.camera)) {
imagePicker.sourceType = .camera
imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.front
imagePicker.allowsEditing = false
imagePicker.delegate = self
//present(imagePicker, animated: true, completion: {})
}
imagePicker.startVideoCapture()
print("Capture started")
後、私は、ビデオキャプチャを停止:
imagePicker.stopVideoCapture()
print("capture over")
私はこれが私のメソッドを呼び出すべきである知っている:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
print("captured")
if let pickedvideo:NSURL = (info[UIImagePickerControllerMediaURL] as! NSURL) {
let selectorToCall = Selector("videoWasSavedSuccessfully.didFinishSavingWithError:context:")
UISaveVideoAtPathToSavedPhotosAlbum(pickedvideo.relativePath!, self, selectorToCall, nil)
let videoasset = (AVAsset(url: pickedvideo as URL))
let playeritem = AVPlayerItem(asset: videoasset)
let player = AVPlayer(playerItem: playeritem)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController, animated: true) {
playerViewController.player?.play()
}
}
}
録音を開始して停止していることがわかっていても、「キャプチャ」は印刷されません。「キャプチュ「再起動」および「キャプチャオーバー」が印刷されます。なぜメソッドが呼び出されていないのか分かりません。助言がありますか?
なぜあなたはココアタグを使用していますか? –
'startVideoCapture'の戻り値をチェックする必要があります。本当ですか? – rmaddy