Swift教程-视频拍摄教程
苹果公司提供了 打开 Xcode 并创建一个 打开 按住 Control 键 并选中两个按钮,点击故事板右下角的Resolve Auto Layout Issues 按钮(就是右下角那个三角形按钮),选择Add Missing Constraints
Assistant Editor(关联面板),并确保 ViewController.swift 文件是打开着的。按住Control 键,把第一个按钮拖出到ViewController.swift 文件中,并创建下面的Action
Control键,把第二个按钮拖出到 ViewController.swift 文件,并创建下面的ViewController.swfit 文件,并在文件顶部添加下面代码:
import MobileCoreServices
AssetsLibrary
修改 class ViewController: UIViewController,UINavigationControllerDelegate,0)">UIImagePickerControllerDelegate {
@IBAction func takeVideo(sender: AnyObject) {
// 1 Check if project runs on a device with camera available
if UIImagePickerController.isSourceTypeAvailable(.Camera) {
// 2 Present UIImagePickerController to take video
controller.sourceType = .Camera
controller.mediaTypes = [kUTTypeMovie as! String]
controller.delegate = self
controller.videoMaximumDuration = 10.0
presentViewController(controller,animated: true,completion: nil)
}
else {
println("Camera is not available")
}
}
实现 viewLibrary(sender: AnyObject) {
// Display Photo Library
controller.sourceType =
UIImagePickerControllerSourceType.PhotoLibrary
controller.mediaTypes = [kUTTypeMovie String]
controller.delegate = self
presentViewController(controller,completion: nil)
}
点击按钮就会打开相册。如果 imagePickerController(picker: UIImagePickerController,didFinishPickingMediaWithInfo info: [NSObject: AnyObject]) {
// 1
let mediaType:AnyObject? = info[UIImagePickerControllerMediaType]
if let type:AnyObject = mediaType {
if type is String {
let stringType = type String
if stringType == kUTTypeMovie String {
let urlOfVideo = info[UIImagePickerControllerMediaURL] as? NSURL
let url = urlOfVideo {
// 2
assetsLibrary.writeVideoAtPathToSavedPhotosAlbum(url,completionBlock: {(url: NSURL!,error: NSError!) in
let theError = error{
"Error saving video = (theError)")
}
else {
"no errors happened")
}
})
}
}
}
}
// 3
picker.dismissViewControllerAnimated(true,completion: nil)
}
imagePickerController(_:didFinishPickingMediaWithInfo:)方法告诉代理,用户选择了一段视频。
imagePickerControllerDidCancel方法: imagePickerControllerDidCancel(picker: UIImagePickerController) {
picker.dismissViewControllerAnimated(true,sans-serif; font-size:16px; line-height:27.2px"> 当用户点击 |