我正在创建一个与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)
}
任何帮助都非常感激。
答案 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()
}