2017-03-25 9 views
0

저는 비디오 캡처와 관련된 프로젝트를 진행하고 있습니다. 나는 본질적으로 비디오를 프로그램 적으로 캡처하고 싶다.Swift ImagePicker VideoCapture didFInishPickingMedia가 호출되지 않았습니다.

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() 
     } 
    } 
} 

:이 내 메소드를 호출해야합니다 알고

imagePicker.stopVideoCapture() 
    print("capture over") 

:

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을 정의 비디오 캡처를 시작 하지만 "캡처 된"은 인쇄를 시작하지 않습니다. 녹음을 시작하고 중지하는 경우에도 "Captu 재시작 "및"캡쳐 오버 "가 인쇄됩니다. 왜 메소드가 호출되지 않았는지 잘 모르겠습니다. 어떤 제안?

+1

왜 코코아 태그를 사용하고 있습니까? –

+0

'startVideoCapture'의 반환 값을 확인해야합니다. 그것은 사실입니까? – rmaddy

답변

-1

mediaTypes를 kUTTypeMovie로 설정해보십시오.

+0

위임 메서드를 호출 할 때이 작업과 관련이 있습니까? – rmaddy

+0

미디어 유형이 누락되었으므로 추가하도록 제안했습니다. 적어도 누락 된 선을 추가하고 확인해야합니다. –

+0

다음은 답변이 아니라 주석이어야합니다. 그러나 당신은 아직 코멘트를 게시 할 수 없습니다. 의견을 답변으로 게시하지 마십시오. 충분한 평판을 얻고 의견을 게시 할 때까지 기다리십시오. – rmaddy