我可以显示从本地SD卡获取的歌曲。当我看到我的歌曲列表和默认音乐播放器时,我发现如果有一些额外的字符串(字符串可能是 - 派对网站或电影名称。)。我怎样才能实现它。?
tempCursor = ((Activity)context).managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,MediaStore.Audio.Media.DISPLAY_NAME);
tempCursor.moveToFirst();
ArrayList<Song> list = new ArrayList<Song>();
for (int i = 0; i < tempCursor.getCount(); i++) {
id = temp Cursor.getString(tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
artist = temp Cursor.getString(tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST));
name = temp Cursor.getString(tempCursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
data = temp Cursor.getString(tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
albumName = temp Cursor.getString(tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM));
albumId = temp Cursor.getString(tempCursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ALBUM_ID));
注意歌曲标题的不同之处:
答案 0 :(得分:0)
<强>重写强>
感谢屏幕截图我看到了问题,只需更改此内容:
name = tempCursor.getString(tempCursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
到此:
name = tempCursor.getString(tempCursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
添加评论
我看不出哪些歌曲没有标题,所以我会提供:
name = tempCursor.getString(tempCursor.getColumnIndex(MediaStore.MediaColumns.TITLE));
if(name.isEmpty())
name = tempCursor.getString(tempCursor.getColumnIndex(MediaStore.EXTRA_MEDIA_TITLE));
if(name.isEmpty())
name = tempCursor.getString(tempCursor.getColumnIndex(MediaStore.MediaColumns.DISPLAY_NAME));
我无法重新创建您描述的内容,并且没有太多信息可以使用,希望这有效。