首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用getExternalStorageDirectory()从内存加载多首歌曲

如何使用getExternalStorageDirectory()从内存加载多首歌曲
EN

Stack Overflow用户
提问于 2018-06-05 19:06:09
回答 1查看 397关注 0票数 0

我在自定义媒体播放器应用程序,必须从SD卡和内部存储加载歌曲。我到处寻找从内部存储中加载歌曲的方法,我查看的大多数帖子都是使用Environment.getExternalStorageDirectory()加载单个MP3文件,而不是多个。我可以从SD卡(存储卡)加载所有歌曲,但不能从内部存储加载。有没有办法加载存储在内部存储器中的所有歌曲?

我的代码,

代码语言:javascript
复制
 private void loadSongs() {
    Uri uri = MediaStore.Audio.Media.INTERNAL_CONTENT_URI;

    Uri uriPath;

    String MEDIA_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/";

    String selection = MediaStore.Audio.Media.IS_MUSIC + "!=0";
    Cursor cursor = getContentResolver().query(uri, null, selection, null, null);
    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                String name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
                String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
                String url = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));

                Log.i("DATA111", MEDIA_PATH);

                mediaMetadataRetrieve = new MediaMetadataRetriever();
                mediaMetadataRetrieve.setDataSource(MEDIA_PATH + "/Music/");

                art = mediaMetadataRetrieve.getEmbeddedPicture();

                if (art != null) {
                    songImage = BitmapFactory.decodeByteArray(art, 0, art.length);
                }

                SongInfo s = new SongInfo(name, artist, url, songImage);
                _songs.add(s);

            } while (cursor.moveToNext());
        }

        cursor.close();
        songAdapter = new SongAdapter(MainActivity.this, _songs);

    }
}

在这里你可以看到我使用的是MEDIA_PATH,这是一个字符串类型的变量,其中Environment.getExternalStorageDirectory()用于加载多首歌曲,但我得到的只是IllegalArgumentException错误(是的,我可以清楚地看到我得到的是IllegalArgumentException,这意味着路径有问题,我试图修复它,但我无法这样做)。

谁能告诉我一种方法来加载所有的歌曲从内部存储在我的自定义媒体播放器?顺便说一句,如果我错了,请纠正我

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50698558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档