欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • Android Activity啟動(dòng)模式之singleTask實(shí)例詳解

    Android Activity啟動(dòng)模式之singleTask實(shí)例詳解

    這篇文章主要介紹了Android Activity啟動(dòng)模式之singleTask,結(jié)合實(shí)例形式較為詳細(xì)的分析了singleTask模式的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-01-01
  • Android通過(guò)overScrollBy實(shí)現(xiàn)下拉視差特效

    Android通過(guò)overScrollBy實(shí)現(xiàn)下拉視差特效

    這篇文章主要為大家詳細(xì)介紹了Android通過(guò)overScrollBy實(shí)現(xiàn)下拉視差特效,實(shí)現(xiàn)精彩的阻尼效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • kotlin淺析when與循環(huán)的使用

    kotlin淺析when與循環(huán)的使用

    這篇文章主要介紹了kotlin語(yǔ)言中when與循環(huán)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Android中實(shí)現(xiàn)水平滑動(dòng)(橫向滑動(dòng))ListView示例

    Android中實(shí)現(xiàn)水平滑動(dòng)(橫向滑動(dòng))ListView示例

    這篇文章主要介紹了Android中實(shí)現(xiàn)水平滑動(dòng)(橫向滑動(dòng))ListView示例,本文用自己封裝一個(gè)控件的方法解決了這個(gè)需求,需要的朋友可以參考下
    2015-06-06
  • 詳解Android使用Socket對(duì)大文件進(jìn)行加密傳輸

    詳解Android使用Socket對(duì)大文件進(jìn)行加密傳輸

    這篇文章主要介紹了詳解Android使用Socket對(duì)大文件進(jìn)行加密傳輸,使用Socket進(jìn)行文件傳輸過(guò)程時(shí),需要先進(jìn)行加密,有興趣的可以了解一下。
    2017-01-01
  • Android開發(fā)input問(wèn)題解決分析

    Android開發(fā)input問(wèn)題解決分析

    這篇文章主要為大家介紹了Android開發(fā)input問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Android筆記設(shè)計(jì)范例之日記APP實(shí)現(xiàn)全流程

    Android筆記設(shè)計(jì)范例之日記APP實(shí)現(xiàn)全流程

    這篇文章主要介紹了Android筆記設(shè)計(jì)范例之日記APP實(shí)現(xiàn)全流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-01-01
  • Android實(shí)現(xiàn)記住賬號(hào)密碼功能

    Android實(shí)現(xiàn)記住賬號(hào)密碼功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)記住賬號(hào)密碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Android中使用TextToSpeech的方法

    Android中使用TextToSpeech的方法

    這篇文章主要介紹了Android中TextToSpeech的使用,通過(guò)初始化語(yǔ)音,這是一個(gè)異步操作,初始化完成后調(diào)用oninitListener,具體實(shí)例代碼跟隨小編一起看看吧
    2021-09-09
  • android監(jiān)聽View加載完成的示例講解

    android監(jiān)聽View加載完成的示例講解

    今天小編就為大家分享一篇android監(jiān)聽View加載完成的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論