android - 实现安卓音乐搜索

标签 android sqlite search media-player android-sqlite

我正在为 android 实现音乐播放器,并希望实现搜索功能。 搜索应该寻找专辑、艺术家和标题,我希望它们以不同的方式显示。此外,如果我找到了艺术家和标题,如果用户点击一个项目(艺术家 = 显示他的所有歌曲,标题 = 播放歌曲),我的应用程序应该能够做出正确的 react 。

我知道有一个 MediaStore 提供程序 ( http://developer.android.com/reference/android/provider/MediaStore.Audio.Media.html ),但我似乎需要比这更多的功能。如果我做这样的查询,我现在不知道艺术家或标题是否匹配:

String[] projection = {
    BaseColumns._ID,   
    MediaStore.Audio.Media.MIME_TYPE, 
    MediaStore.Audio.Artists.ARTIST,
    MediaStore.Audio.Albums.ALBUM,
    MediaStore.Audio.Media.TITLE,
};

Cursor c = getContentResolver().query(
    MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, 
    projection, MediaStore.Audio.Media.TITLE + " 
    LIKE "+ "'%"+query+"%' OR " + MediaStore.Audio.Media.ARTIST  + " 
    LIKE "+ "'%"+query+"%'", null, MediaStore.Audio.Media.TITLE);

我现在正在考虑创建一个基于中央 android 音乐数据库的索引,但我不确定这是否可行。

也许对此有一个简单的解决方案,或者有人已经实现了类似的解决方案?

最佳答案

我自己找到了解决方案。 android 系统实际上提供了一个音乐搜索表,尽管它似乎没有在任何地方记录。不管怎样,如果有人遇到同样的问题,试试这个 Uri:content://media/external/audio/search/fancy/

顺便说一句:我在这个源代码中找到了 uri:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/4.2.2_r1/com/android/music/QueryBrowserActivity.java

关于android - 实现安卓音乐搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132766/

相关文章:

python - 与python一起使用的时间序列数据库

android - 如何使用 MPAndroidChart 获取当前可见的 x 轴和 y 轴范围?

android - 如何在 android 中显示印地语文本?

php - 数据库与 XML 文件的最小内容

java - 访问 SQLite 数据库的行

c# - Mono Android 中的搜索对话框

ruby-on-rails - 按Tire/ElasticSearch中的整个字段值分组

java - 作为动画持续时间提供的长值 - AndEngine

android - 借助 MergeAdapter、StickyListHeaders 和 ListViewAnimations 的强大功能,我是 Android 的队长

php - 从 Jquery 、 PHP 、 MySQL 字段返回的清除结果