UIImagePickerControllerで動画だけを選択する方法

UIImagePickerControllerをそのまま使用すると静止画を選択できますが、動画が選択できません。
今回は動画を選択する方法です。

ポイントは
 mediaTypesにkUTTypeMovieを設定する
 UIImagePickerControllerMediaURLを使って動画のURLを取得する
だけなんですけどね。

以下実例

事前にのインポートとUINavigationControllerDelegateとUIImagePickerControllerDelegateを対応プロトコルに追加しておきます。

UIImagePickerControllerを呼び出す時はこんな感じ
ちなみにkUTTypeMovieの中身は”public.movie”です。


if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
{
     UIImagePickerController* picker = [[[UIImagePickerController alloc]init]autorelease];
     picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
     picker.mediaTypes =  @[ (NSString*)kUTTypeMovie ];
     picker.allowsEditing = NO;
     picker.delegate = self;
                
     [self presentViewController: picker animated:YES completion:nil];//selfはUIViewController
}
else {
   //エラー処理
}

UIImagePickerControllerで選択されたときの処理はこんな感じ

#pragma mark - UIImagePickerControllerDelegate

-(void)imagePickerController:(UIImagePickerController*)picker
  didFinishPickingMediaWithInfo:(NSDictionary *)info
{
   
    NSString* mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if ([mediaType isEqualToString:(NSString*)kUTTypeMovie])
    {
        //動画のURLを取得
        NSURL* url = [info objectForKey:UIImagePickerControllerMediaURL];
         
        [self playMovie:url];//何かしら処理
    }
   
   
    [self dismissViewControllerAnimated:YES completion:nil];
}


-(void)imagePickerControllerDidCancel:(UIImagePickerController*)picker
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

以上

UIImagePickerControllerで動画だけを選択する方法」への2件のフィードバック

  1. bushi

    はじめましてブログみました。
    こちらを元に動画撮影をして動画URLまで取得できるようになりすごく助かっております。

    この撮影された動画をビューに組み込みたいのですがどのようにすればいいでしょうか。
    もしお分かりでしたらご教授願います。

    よろしくお願いします。

    返信
    1. tateo 投稿作成者

      方法は色々ありますが、一番簡単なのは AVPlayerとAVPlayerViewController を使うことかと思います。
      AVPlayerViewControllerの使用例をgoogleなどで検索してみてください。

      返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です