3

I've seen such questions on this site but can't find exact solution for this. I'm creating list view of path of songs stored on my SD card. But when I provide the full path to media player, It gives Prepare failed: status=0x1.

I've included READ_EXTERNAL_STORAGE permission to menifest. following is my code.

        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

            Object o = adapterView.getItemAtPosition(i);
            String uri = (String)o;
            //uri = uri.substring();
          //  uri = Environment.getExternalStorageDirectory().getPath();

         try{
             MediaPlayer mp = new MediaPlayer();
             mp.setDataSource(uri);
             mp.setLooping(true);
             mp.prepare();
             mp.start();
         }
         catch (Exception e){

             Toast.makeText(MainActivity.this,uri+"    "+e.toString(),Toast.LENGTH_SHORT).show();
         }



        }
    });

I've set onItemClickListener in listView. And on click, I'm fetching song path to a string and providing to media player.

Sample path which I'm getting on click is:

/storage/sdcard0/Download/MY_SONG_NAME.mp3

0 Answers0