Swift 2.2 に基づく
imagePickerController があり、画像とビデオの両方を選択したい場合:
let imagePickerController = UIImagePickerController()
var videoURL: NSURL?
@IBAction func selectImageFromPhotoLibrary(sender: UIBarButtonItem) {
imagePickerController.sourceType = .PhotoLibrary
imagePickerController.delegate = self
imagePickerController.mediaTypes = ["public.image", "public.movie"]
presentViewController(imagePickerController, animated: true, completion: nil)
}
次に、ビデオを選択したら、その NSURL を出力します。
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
videoURL = info["UIImagePickerControllerReferenceURL"] as? NSURL
print(videoURL)
imagePickerController.dismissViewControllerAnimated(true, completion: nil)
}
質問 2 の場合:
はい、AVPlayer を介して実行できます。AVKit と AVFoundation をインポートする必要があり、コードは次のようになります。
if let videoURL = videoURL{
let player = AVPlayer(URL: videoURL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
presentViewController(playerViewController, animated: true) {
playerViewController.player!.play()
}
}
ここでデモを作成しました。参照できますが、100% 必要なものではないかもしれません。