相关疑难解决方法(0)

Android Studio 音乐播放器无法从 SD 卡读取,只能从内部存储器读取

如果这被证明是一个愚蠢的问题,我深表歉意,这可能是一个快速解决方案,但我就是无法弄清楚。我正在 android studio 中构建一个音乐播放器,尽管我确实实现了 getExternalStorageDirectory() 并在清单文件中添加了权限,但 sdcard 上的所有歌曲都不会显示在列表视图中,只有内部存储器中的歌曲。对此的任何意见或建设性批评都将受到高度赞赏。这是主要的 java 类。

public class MainActivity extends AppCompatActivity {

    ListView lv;
    String[] items;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.lvPlayList);

        //---------------------------------------------> V HERE V <-------------------------

        final ArrayList<File> mySongs = findSongs(Environment.getExternalStorageDirectory());
        //----------------------------------------------------------------------------------
        items = new String[ mySongs.size() ];

        for(int i = 0; i<mySongs.size(); i++) {
            toast(mySongs.get(i).getName().toString());
            items[i] = mySongs.get(i).getName().toString().replace(".mp3", "").replace(".wav", "");
        }

        ArrayAdapter<String> adp = new ArrayAdapter<>(getApplicationContext(), R.layout.song_layout, R.id.textView, items);
        lv.setAdapter(adp);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, …
Run Code Online (Sandbox Code Playgroud)

java listview audio-player android-sdcard android-studio

3
推荐指数
1
解决办法
4453
查看次数