在 UIImagePickerController 中打开录制的视频
Open recorded video in UIImagePickerController
我正在创建自定义叠加层以与 UIImagePickerController 一起使用,因为我想修改作为默认控件出现的文本和图像。这部分根据需要显示。
我想让用户流尽可能接近默认值。我希望视频在捕获后可以播放,但我不确定如何在 UIImagePickerController.
中打开它
我在 videoData
变量中有视频数据,但不确定如何继续。我是将其保存到 class 级别变量并实例化一个新的 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)
}
非常感谢任何帮助。
您可以使用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()
}
我正在创建自定义叠加层以与 UIImagePickerController 一起使用,因为我想修改作为默认控件出现的文本和图像。这部分根据需要显示。
我想让用户流尽可能接近默认值。我希望视频在捕获后可以播放,但我不确定如何在 UIImagePickerController.
中打开它我在 videoData
变量中有视频数据,但不确定如何继续。我是将其保存到 class 级别变量并实例化一个新的 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)
}
非常感谢任何帮助。
您可以使用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()
}