經過數據庫mediaprovider 讀取視頻文件

ContentResolver mResolver= getContentResolver();
Cursor cursor =
 getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null,null, null); 
 while (cursor.moveToNext()){
     //這個讀取的是數據庫裏全部的視頻文件
     str=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
 }

若是想讀取指定的視頻文件java

第一種,最簡單的方法.修改數據庫

MediaStore.Video.Media.EXTERNAL_CONTENT_URI

第二種方法
數組

ContentResolver mResolver= getContentResolver();
String selection=MediaStore.Video.Media.DATA +" like?";
String[] selectionArgs=new String[]{"%文件夾名字%"};
Cursor cursor =
 getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,null, selection,
 selectionArgs,null}

Cursor cursor = resolver.query(_uri, prjs, selections, selectArgs, order);ide

ContentResolver的query方法接受幾個參數,參數意義以下:code

Uri:這個Uri表明要查詢的數據庫名稱加上表的名稱。這個Uri通常都直接從MediaStore裏取得,例如我要取全部歌的信息,就必須利用MediaStore.Audio.Media. EXTERNAL _CONTENT_URI這個Uri。視頻

專輯信息要利用MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI這個Uri來查詢,其餘查詢也都相似。排序

Prjs:這個參數表明要從表中選擇的列,用一個String數組來表示。get

Selections:至關於SQL語句中的where子句,就是表明你的查詢條件。io

selectArgs:這個參數是說你的Selections裏有?這個符號是,這裏能夠以實際值代替這個問號。若是Selections這個沒有?的話,那麼這個String數組能夠爲null。class

Order:說明查詢結果按什麼來排序。

相關文章
相關標籤/搜索