本文執行個體講述了Android編程擷取sdcard音樂檔案的方法。分享給大家供大家參考,具體如下:
複製代碼 代碼如下:
Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);
Uri:指明要查詢的資料庫名稱加上表的名稱,從MediaStore中我們可以找到相應資訊的參數,具體請參考開發文檔。
Projection: 指定查詢資料庫表中的哪幾列,返回的遊標中將包括相應的資訊。Null則返回所有資訊。
selection: 指定查詢條件
selectionArgs:參數selection裡有 ?這個符號是,這裡可以以實際值代替這個問號。如果selection這個沒有?的話,那麼這個String數組可以為null。
SortOrder:指定查詢結果的排列順序
下面的命令將返回所有在外部儲存卡上的音樂檔案的資訊:
Cursor cursor = context.getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
歌曲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 url = 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
複製代碼 代碼如下:
Int size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));
希望本文所述對大家Android程式設計有所協助。