创建Android音乐播放器的最佳方法是什么?我读过各种教程,有些教程是使用自定义方法获取的,其中收集了所有文件,而扩展名为'.mp3'的教程被添加到了ArrayList()<>中,有些教程则使用了MediaStore。哪一种是最好的方法?
如果我在每次打开应用程序时都使用递归方法,则它将执行其任务并将结果存储在ArrayList()<>中,这需要花费时间,另一方面,我没有尝试使用MediaStore方法。那好吗?我应该去吗?
答案 0 :(得分:0)
您正好遍历存储系统中的所有文件,并且存储相关文件始终是一项繁重的任务,而不是访问专门为特定任务设计的系统。建议使用MediaStore获取本地媒体文件。请参考下面的代码,该代码是从我们的社区成员之一页面
摘录的 ContentResolver cr = getActivity().getContentResolver();
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";
Cursor cur = cr.query(uri, null, selection, null, sortOrder);
int count = 0;
if(cur != null)
{
count = cur.getCount();
if(count > 0)
{
while(cur.moveToNext())
{
String data = cur.getString(cur.getColumnIndex(MediaStore.Audio.Media.DATA));
int songId = cur.getColumnIndex(MediaStore.Audio.Media._ID);
int songTitle = cur.getColumnIndex(MediaStore.Audio.Media.TITLE);
// Add code to get more column here
// Save to your list here
}
}
}
cur.close();