Android中音樂檔案的資訊詳解
先來了解一下ContentResolver的查詢介面,和sqlite資料庫查詢的方法是一樣的
通過 query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder); 得到一個Cursor物件,這個Cursor物件中有資料庫欄位對應相應的音樂的資訊:
Uri:指明要查詢的資料庫名稱加上表的名稱,從MediaStore中我們可以找到相應資訊的引數,具體請參考開發文件。
Projection: 指定查詢資料庫表中的哪幾列,返回的遊標中將包括相應的資訊。Null則返回所有資訊。
selection: 指定查詢條件
selectionArgs:引數selection裡有 ?這個符號是,這裡可以以實際值代替這個問號。如果selection這個沒有?的話,那麼這個String陣列可以為null。
SortOrder:指定查詢結果的排列順序
下面的命令將返回所有在外部儲存卡上的音樂檔案的資訊:
先得到一個ContentResolver物件:ContentResolver cr = this.getContentResolver();
Cursor cursor = cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,
null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);得到cursor後,我們可以呼叫Cursor的相關方法具體的音樂資訊:
歌曲ID:MediaStore.Audio.Media._ID
int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
歌曲的名稱 :MediaStore.Audio.Media.TITLE
String tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
歌曲的專輯名:MediaStore.Audio.Media.ALBUM
String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
歌曲的歌手名: MediaStore.Audio.Media.ARTIST
String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
歌曲檔案的路徑 :MediaStore.Audio.Media.DATA
String dataurl = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
歌曲的總播放時長 :MediaStore.Audio.Media.DURATION
int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));
歌曲檔案的大小 :MediaStore.Audio.Media.SIZE
long size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));
相關文章
- android NDK的android.mk檔案的詳解Android
- Android的.so檔案詳細解讀Android
- android 混淆檔案proguard.cfg詳解Android
- Android逆向之旅---SO(ELF)檔案格式詳解Android
- Linux:査看檔案的詳細資訊Linux
- Nginx的配置檔案詳解Nginx
- vim的配置檔案詳解
- Dockerfile檔案詳解Docker
- mtl檔案詳解
- cmake檔案詳解
- BMP檔案詳解
- LD檔案詳解
- cocos2d-x遊戲中音樂音效的處理遊戲
- Luminate:2024年年中音樂報告
- mysql的日誌檔案詳解MySql
- java class檔案詳解Java
- JavaScript 檔案物件詳解JavaScript物件
- redis 配置檔案詳解Redis
- Class 檔案格式詳解
- haproxy配置檔案詳解
- Scala檔案操作詳解
- redis配置檔案詳解Redis
- Dockerfile檔案全面詳解Docker
- SSH配置檔案詳解
- zookeeper配置檔案詳解
- nginx配置檔案詳解Nginx
- WCF配置檔案詳解
- Java Class檔案詳解Java
- 控制檔案詳解(轉)
- /etc/fstab檔案詳解
- linux的啟動配置檔案inittab檔案詳解Linux
- Android Resources 資原始檔的使用詳解Android
- JPEG檔案編/解碼詳解 .
- Maven的pom.xml檔案詳解MavenXML
- Tomcat 的 Server 檔案配置詳解!!!TomcatServer
- resin配置檔案的詳細解釋
- Jpeg的檔案資訊
- MachO 檔案結構詳解Mac