Reputation: 23
My problem is that my code was not working. i have 100+ mp3 store in my assets/anthem folder.
flAnthem = c.getString(c.getColumnIndex(KEY_ANTHEM));
flAnthemSDCard = c.getString(c.getColumnIndex(KEY_ANTHEM_SDCARD));
AssetManager assetManager= getAssets();
InputStream inputStream = null;
try{
inputStream = assetManager.open("anthem/" + flAnthem);
mediaPlayer.setDataSource(String.valueOf(inputStream));
mediaPlayer.prepare();
mediaPlayer.start();
}catch(IOException e){
e.printStackTrace();
}
Upvotes: 1
Views: 78
Reputation: 8119
Replace this
inputStream = assetManager.open("anthem/" + flAnthem); mediaPlayer.setDataSource(String.valueOf(inputStream)); //DataSource is not correctly setted.
By Using AssetFileDescriptor
flAnthem = c.getString(c.getColumnIndex(KEY_ANTHEM)) + ".mp3"; // don't forget extension
AssetFileDescriptor descriptor = getAssets().openFd("anthem/"+mediaName);
mediaPlayer.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
BTW
Upvotes: 1