通過內容解析這獲取音訊資訊

2021-06-28 21:24:02 字數 1971 閱讀 1938

mediastore中定義了一系列的資料**,通過contentresolver提供的查詢介面,我們可以得到各種需要的資訊。下面我們重點介紹查詢sd卡上的**檔案資訊。

先來了解一下contentresolver的查詢介面:

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 = 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.titl

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));

歌曲檔案的名稱:mediastroe.audio.media.display_name

string display_name = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.display_name));

歌曲檔案的發行日期:mediastore.audio.media.year

string year = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.year));

int duration = cursor.getint(cursor.getcolumnindexorthrow(mediastore.audio.media.duration));

歌曲檔案的大小 :mediastore.audio.media.size

int size = cursor.getlong(cursor.getcolumnindexorthrow(mediastore.audio.media.size));

通過URL獲取JSON解析詳解

get方法 拿到結果 sb.tostring jsonobject json new jsonobject sb.tostring json json.getjsonobject result jsonarray array json.getjsonarray data for int i 0 i ...

python通過api獲取值,解析

cmp info f e t svc.get cmp basic time node api company name 工商資訊 cmp data cmp info.get cmp model.data,查詢的是api返回字典中是否有data這個鍵,若有,則返回該鍵對應的值 如果沒有則返回 clas...

MVC 通過物件獲取整個表單內容

在mvc的controller 控制器 裡面定義相同的方法時,我們需要解決過載問題 解決方案一 在引數中定義乙個formcollection型別,解決問題 解決方案二 利用從前台獲取資料解決問題 public actionresult editor string username mvc在呼叫act...