2012-05-08 19 views
3

アプリがインストールされているAndroid搭載端末で見つかるすべての動画とそのパスのリストを取得するにはどうすればよいですか?Androidデバイスですべての動画を取得する方法

EDIT: 私は単純なビデオプレーヤーを作りたいと思っています。そのため、デバイス上にあるすべてのビデオを表示し、リストアイテムのクリックで再生することが考えられます。 私はビデオについてのその情報を取得する方法を知らないので、誰かが私を助けることができれば非常に感謝しています。

+0

私は何も試していない、どこから始めるべきかわからない。 – sth4

+0

私はインターネット上で何かを見つけることができないので、まだ何も試していない。今、私はアプリの残りの部分を行ったが、部分を再生するピックビデオが欠けているだけです。 – sth4

+0

私はこれを**関連**の欄で見つけました。 - > http://stackoverflow.com/q/2911124/1267661また、便利なリンクやPreet Sangha'sもあります。がんばろう! – Sam

答えて

2
String[] projection = { MediaStore.Video.Media._ID}; 
Cursor cursor = new CursorLoader(contexts, MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, 
      null, // Return all rows 
      null, null).loadInBackground(); 

カーソルがあると、それを繰り返して、ビデオIDを使用してすべてのビデオを取得できます。

+0

フォルダがプログラムで作成されている場合、私のために働いていないhttps://stackoverflow.com/questions/48934159/mediastore-not-working-when-folder-programmatically-createdこれを確認してください –

2

まだ誰かが答えを探している場合は、この方法をお試しください。このメソッドは、すべてのメディアのパスのリストを返します。

public ArrayList<String> getAllMedia() { 
    HashSet<String> videoItemHashSet = new HashSet<>(); 
    String[] projection = { MediaStore.Video.VideoColumns.DATA ,MediaStore.Video.Media.DISPLAY_NAME}; 
    Cursor cursor = getContext().getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, null, null, null); 
    try { 
     cursor.moveToFirst(); 
     do{ 
      videoItemHashSet.add((cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA)))); 
     }while(cursor.moveToNext()); 

     cursor.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    ArrayList<String> downloadedList = new ArrayList<>(videoItemHashSet); 
    return downloadedList; 
} 
+0

私のために働いていないフォルダは、プログラムで作成されたstackoverflow.com/質問/ 48934159/...これを確認してください –

0

次のコードを試してください。

private void getVideoList() { 
    Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; 
    String[] projection = {MediaStore.Video.VideoColumns.DATA}; 
    Cursor cursor = getContentResolver().query(uri, projection, null, null, null); 
    ArrayList<String> pathArrList = new ArrayList<>(); 
    if (cursor != null) { 
     while (cursor.moveToNext()) { 
      pathArrList.add(cursor.getString(0)); 
     } 
     cursor.close(); 
    } 
    Log.e("all path",pathArrList.toString()); 
} 
関連する問題