我无法从图库中选择视频 swift
I can't get video selected from gallery swift
我的代码在这里
@IBAction func openVideo(_ sender: Any) {
//selectVideo(delegate: self, sourceType: .savedPhotosAlbum)
let mediaUI = UIImagePickerController()
mediaUI.sourceType = .savedPhotosAlbum
mediaUI.mediaTypes = [kUTTypeMovie as String]
mediaUI.allowsEditing = true
mediaUI.delegate = self
self.present(mediaUI, animated: true, completion: nil)
}
这部分我 select 视频。
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func processVideo(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]){
let url = info[UIImagePickerController.InfoKey.mediaURL] as! URL
print("hey")
self.dismiss(animated: true) {
let player = AVPlayer(url: url)
let vcPlayer = AVPlayerViewController()
vcPlayer.player = player
self.present(vcPlayer, animated: true, completion: nil)
}
}
}
我做错了什么?
我无法在 processVideo 函数中打印任何内容。 select 从图库中下载视频后出现此错误。
"Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)""
您需要像这样或在 plist 中进行设置。
switch AVCaptureDevice.authorizationStatus(for: .video) {
case .authorized: // The user has previously granted access to the camera.
self.setupCaptureSession()
case .notDetermined: // The user has not yet been asked for camera access.
AVCaptureDevice.requestAccess(for: .video) { granted in
if granted {
self.setupCaptureSession()
}
}
case .denied: // The user has previously denied access.
return
case .restricted: // The user can't grant access due to restrictions.
return
}
通过将 processvideo 函数的名称更改为 imagePickerController 解决了问题。似乎名称在委托函数中非常重要。我没注意到。
创建此委托函数的提示编写 didfinish,您将获得名为 imagePickerController 的首选函数,使用它。
我的代码在这里
@IBAction func openVideo(_ sender: Any) {
//selectVideo(delegate: self, sourceType: .savedPhotosAlbum)
let mediaUI = UIImagePickerController()
mediaUI.sourceType = .savedPhotosAlbum
mediaUI.mediaTypes = [kUTTypeMovie as String]
mediaUI.allowsEditing = true
mediaUI.delegate = self
self.present(mediaUI, animated: true, completion: nil)
}
这部分我 select 视频。
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func processVideo(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]){
let url = info[UIImagePickerController.InfoKey.mediaURL] as! URL
print("hey")
self.dismiss(animated: true) {
let player = AVPlayer(url: url)
let vcPlayer = AVPlayerViewController()
vcPlayer.player = player
self.present(vcPlayer, animated: true, completion: nil)
}
}
}
我做错了什么?
我无法在 processVideo 函数中打印任何内容。 select 从图库中下载视频后出现此错误。
"Error returned from daemon: Error Domain=com.apple.accounts Code=7 "(null)""
您需要像这样或在 plist 中进行设置。
switch AVCaptureDevice.authorizationStatus(for: .video) {
case .authorized: // The user has previously granted access to the camera.
self.setupCaptureSession()
case .notDetermined: // The user has not yet been asked for camera access.
AVCaptureDevice.requestAccess(for: .video) { granted in
if granted {
self.setupCaptureSession()
}
}
case .denied: // The user has previously denied access.
return
case .restricted: // The user can't grant access due to restrictions.
return
}
通过将 processvideo 函数的名称更改为 imagePickerController 解决了问题。似乎名称在委托函数中非常重要。我没注意到。
创建此委托函数的提示编写 didfinish,您将获得名为 imagePickerController 的首选函数,使用它。