Ich arbeite an einem Projekt mit Videoaufnahme. Ich möchte Videos im Wesentlichen programmatisch aufnehmen.Swift ImagePicker VideoCapture didFInishPickingMedia wird nicht aufgerufen
I definiert die imagepicker und begann Videoaufzeichnung:
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")
später, ich Video-Capture gestoppt:
imagePicker.stopVideoCapture()
print("capture over")
Ich weiß, das sollte meine Methode anrufen:
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()
}
}
}
aber das "eingefangene" wird nicht gedruckt, obwohl ich weiß, dass ich die Aufnahme starte und stoppe, wie "Captu re started "und" Capture over "werden gedruckt. Ich bin mir nicht sicher, warum die Methode nicht aufgerufen wird. Irgendwelche Vorschläge?
Warum verwenden Sie das Kakaokennzeichen? –
Sie sollten den Rückgabewert von 'startVideoCapture' überprüfen. Gibt es "wahr" zurück? – rmaddy