在UIImagePickerController中打开录制的视频

时间:2015-12-11 14:49:05

标签: ios swift uiimagepickercontroller

我正在创建一个与UIImagePickerController一起使用的自定义叠加层,因为我想修改作为默认控件的文本和图像。这部分内容根据需要显示。

我想让用户流尽可能接近默认值。我希望视频在捕获后可播放,但我不确定如何在UIImagePickerController中打开它。

我在videoData变量中有视频数据,但我不确定如何继续。我是否将其保存到类级别变量并实例化一个新的imagePickerController,或者我是否需要转换为全新的视图控制器并从头开始构建UI。原因是用户可能需要重新录制视频。

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]){

    // Save video to device
    let videoURL = info[UIImagePickerControllerMediaURL] as! NSURL
    let videoData = NSData(contentsOfURL: videoURL)

    self.dismissViewControllerAnimated(true, completion: nil)
}

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

您可以使用AVPlayer播放视频;

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]){

    // Save video to device
    let videoURL = info[UIImagePickerControllerMediaURL] as! NSURL

    // no need NSData
    //let videoData = NSData(contentsOfURL: videoURL)

    self.dismissViewControllerAnimated(true, completion: nil)

    let videoPlayer = AVPlayer(URL: videoURL)
    videoPlayer.actionAtItemEnd = .None
    let videoLayer = AVPlayerLayer(player: videoPlayer)
    videoLayer.frame = CGRectMake(0, 0, 200, 200)
    self.view.layer.addSublayer(videoLayer)
    videoPlayer.play()
}