最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中通過(guò)MediaStore獲取音樂(lè)文件信息方法

 更新時(shí)間:2015年04月24日 09:14:57   投稿:junjie  
這篇文章主要介紹了Android中通過(guò)MediaStore獲取音樂(lè)文件信息方法,本文講解了獲取歌曲的名稱、歌曲的專輯名、歌曲的歌手名、歌曲文件的全路徑、歌曲文件的名稱、歌曲文件的發(fā)行日期等音樂(lè)文件信息的方法,需要的朋友可以參考下

Android系統(tǒng)提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套數(shù)據(jù)庫(kù)表格,通過(guò)Content Provider的方式提供給用戶。當(dāng)手機(jī)開機(jī)或者有SD卡插拔等事件發(fā)生時(shí),系統(tǒng)將會(huì)自動(dòng)掃描SD卡和手機(jī)內(nèi)存上的媒體文件,如audio,video,圖片等,將相應(yīng)的信息放到定義好的數(shù)據(jù)庫(kù)表格中。在這個(gè)程序中,我們不需要關(guān)心如何去掃描手機(jī)中的文件,只要了解如何查詢和使用這些信息就可以了。

MediaStore中定義了一系列的數(shù)據(jù)表格,通過(guò)ContentResolver提供的查詢接口,我們可以得到各種需要的信息。下面我們重點(diǎn)介紹查詢SD卡上的音樂(lè)文件信息。
先來(lái)了解一下ContentResolver的查詢接口:

復(fù)制代碼 代碼如下:

Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);

Uri:指明要查詢的數(shù)據(jù)庫(kù)名稱加上表的名稱,從MediaStore中我們可以找到相應(yīng)信息的參數(shù),具體請(qǐng)參考開發(fā)文檔。
Projection: 指定查詢數(shù)據(jù)庫(kù)表中的哪幾列,返回的游標(biāo)中將包括相應(yīng)的信息。Null則返回所有信息。
selection: 指定查詢條件
selectionArgs:參數(shù)selection里有 ?這個(gè)符號(hào)是,這里可以以實(shí)際值代替這個(gè)問(wèn)號(hào)。如果selection這個(gè)沒有?的話,那么這個(gè)String數(shù)組可以為null。
SortOrder:指定查詢結(jié)果的排列順序
下面的命令將返回所有在外部存儲(chǔ)卡上的音樂(lè)文件的信息:
復(fù)制代碼 代碼如下:

Cursor cursor = query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);

得到cursor后,我們可以調(diào)用Cursor的相關(guān)方法具體的音樂(lè)信息:
歌曲ID:MediaStore.Audio.Media._ID
復(fù)制代碼 代碼如下:

Int id = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));

歌曲的名稱 :MediaStore.Audio.Media.TITL

復(fù)制代碼 代碼如下:

String tilte = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));

歌曲的專輯名:MediaStore.Audio.Media.ALBUM

復(fù)制代碼 代碼如下:

String album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));

歌曲的歌手名: MediaStore.Audio.Media.ARTIST

復(fù)制代碼 代碼如下:

String artist = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));

歌曲文件的全路徑 :MediaStore.Audio.Media.DATA

復(fù)制代碼 代碼如下:

String url = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));

歌曲文件的名稱:MediaStroe.Audio.Media.DISPLAY_NAME
復(fù)制代碼 代碼如下:

String display_name = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DISPLAY_NAME));

歌曲文件的發(fā)行日期:MediaStore.Audio.Media.YEAR

復(fù)制代碼 代碼如下:

String year = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.YEAR));


歌曲的總播放時(shí)長(zhǎng) :MediaStore.Audio.Media.DURATION

復(fù)制代碼 代碼如下:

Int duration = cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION));

歌曲文件的大小 :MediaStore.Audio.Media.SIZE

復(fù)制代碼 代碼如下:

Int size = cursor.getLong(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.SIZE));

相關(guān)文章

最新評(píng)論

沙湾县| 宣城市| 剑河县| 固镇县| 尤溪县| 阳西县| 绥阳县| 东丽区| 千阳县| 眉山市| 滦南县| 长治市| 永州市| 双鸭山市| 吉木乃县| 沅陵县| 改则县| 改则县| 邯郸县| 绩溪县| 湄潭县| 娱乐| 绥宁县| 左云县| 宜春市| 三台县| 定安县| 藁城市| 阿图什市| 右玉县| 嘉善县| 北流市| 汕头市| 抚州市| 吐鲁番市| 固原市| 石家庄市| 广宗县| 葵青区| 武汉市| 霸州市|