使用Mediastore搜索音乐文件

5

我已经花了好几个小时的时间研究这个问题了。我查看了安卓javadoc - MediaStore,但仍然不理解它。我也找到了一些例子,但并没有什么帮助。

我想要在音乐库中搜索一个字符串。我大致知道思路(获取音乐库数据库,像sqlite数据库一样进行搜索),但实际上我不知道该如何做。

我还发现了外部SD媒体文件的URI——MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,

但我不知道该怎么使用它。

希望提供一些起点。

谢谢。

1个回答

6

MediaStore多少可以说是一个sqlite数据库。有许多查询它的方式。按专辑,按艺术家,按播放列表,按歌曲等等。例如,这将返回所有歌曲的Cursor

Cursor cursor = getContentResolver().query(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
    null, 
    null, 
    null, 
    MediaStore.Audio.Media.TITLE + " ASC");

你可以像这样从中获取特定的列:
while (cursor.moveToNext()) {
    String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
    // Whatever else you need
}

在排序顺序中,+“ASC”是什么意思? - Matt Smith
哦,你不需要那个,它只是按某一列升序排序。 DESC表示降序。 http://www.tutorialspoint.com/sqlite/sqlite_order_by.htm - Ken Wolf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接