ご覧頂きありがとうございます。
首記の件ですが、現在開発しているアプリにおいて
下記のような実装をしたいと考えています。
①ユーザーがカメラロールから選択した動画を表示させるための
AVPlayerとUIImagePickerControllerを起動するためのUIButtonを
配置したViewControllerがある
(ViewController自体はTableViewで作成しており、動画を表示させる
AVPlayerはTableViewのCellの1つとしてCustomCellで実装。
投稿の最後にイメージ図を掲載しています)
↓
②UIButtonを押すとmodalでUIImagePickerControllerが起動し
ユーザーのカメラロールへアクセス
↓
③カメラロールを表示した際に動画のみを表示させる
(写真は表示させないようにしたい)
↓
④ユーザーが動画を選択したらmodalを閉じ、その動画を
ViewCOntroller上のAVPlayerに格納させ、再生できるようにする
現在、①〜②のPickerControllerの起動およびカメラロールへの
アクセス自体はできているものの、動画のみの選択ができず
写真も一緒に全て表示されてしまいます。
また、④についても、どのように選択した動画をセットさせるのか
が全く思いつきません。
(PlayerItemにどうやってセットするんだろうとか考えています)
つきましては、下記について教えて頂ければ大変幸いです。
①UIImagePickerControllerを使用し、カメラロールの動画のみを
表示させる方法
②カメラロールから選択した動画をAVPlayerにセットし
表示させる方法
最後に、現在書いているコードを添付させていただきます。
以上、お手数ですが、よろしくお願いいたします。
↓UIButtonを押し、PickerControllerを起動
Swift
1 func uploadVideo(){ 2 if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) { 3 4 let picker = UIImagePickerController() 5 picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 6 picker.mediaTypes = [kUTTypeMovie as String] 7 picker.allowsEditing = false 8 picker.delegate = self 9 picker.videoQuality = UIImagePickerControllerQualityType.TypeHigh 10 11 self.presentViewController(picker, animated: true, completion: nil) 12 } 13 } 14
↓カメラロールから動画を選択した時のメソッド
Swift
1func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 2 let mediaType = info[UIImagePickerControllerMediaType] as! NSString 3 if mediaType == kUTTypeMovie { 4 let url: NSURL = info[UIImagePickerControllerMediaURL] as! NSURL 5 let moviePath: String = url.path! 6 if UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(moviePath) { 7 UISaveVideoAtPathToSavedPhotosAlbum(moviePath, nil, nil, nil) 8 } 9 10 11 } 12 self.dismissViewControllerAnimated(true, completion: nil) 13 } 14
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。