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