ご覧頂きありがとうございます。
今回質問させていただきたいのは、UIImagePickerControllerを使用して
カメラロールから動画のみを取得する方法です。
フロートしては、UIButtonを押すとModalでPickerControllerが起動し、ユーザーが動画を選択、それをViewに反映させるという流れになります。
現在、下記のようにコードを書いていますが、
↓ボタンを押してカメラロールを起動
Swift
1 func uploadVideo(){ 2 if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary) { 3 4 var picker = UIImagePickerController() 5 picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 6 picker.mediaTypes = [kUTTypeMovie as NSString] 7 picker.allowsEditing = true 8 picker.videoMaximumDuration = 300; 9 picker.delegate = self 10 picker.videoQuality = UIImagePickerControllerQualityType.TypeHigh 11 self.presentViewController(picker, animated: true, completion: nil) 12 } 13 }
↓動画を選択する際
Swift
1 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { 2 var mediaType: [Any] = info[UIImagePickerControllerMediaType] 3 if mediaType.isEqualToString(kUTTypeMovie) { 4 var url: NSURL = info[UIImagePickerControllerMediaURL] 5 self.movieURL = url 6 } 7 self.dismissViewControllerAnimated(true, completion: nil) 8 }
↓キャンセルでModalを閉じる
Swift
1 func imagePickerControllerDidCancel(picker: UIImagePickerController) { 2 self.dismissViewControllerAnimated(true, completion: nil) 3 } 4
2つめのコードの中の下記の2箇所においてそれぞれ、
「String is not convertible to 'DictionaryIndex<NSObject,Anyobject,>'」
「String doesnt have a member named 'isEqualToString'」
というエラーが出てしまいます。
いろいろ調べて上記のコードを書いたので、コレ以上どのように変更すればいいか困っています。
Swift
1var mediaType: String = info[UIImagePickerControllerMediaType] 2if mediaType.isEqualToString(kUTTypeMovie) 3
適切な形に訂正頂ければ幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/17 03:56
2015/09/18 05:03
2015/09/19 16:33