Я скачал mp3 файл с URL-адрес и сохранить его в Environment.DIRECTORY_DOWNLOADS следующим кодом:Как я могу играть mp3-файл с Environment.DIRECTORY_DOWNLOADS
request.setDestinationInExternalFilesDir(MainActivity.this, Environment.DIRECTORY_DOWNLOADS,"d1.mp3");
Я проверил файл может загружен правильно. Теперь я хочу воспроизвести этот файл d1.mp3, но когда я нажимаю кнопку воспроизведения, он не начинает воспроизводить музыку! похоже, у меня проблема, когда я использую «setDataSource». Я буду признателен, если вы проверите мой код и позвольте мне, где я ошибся.
private void initMediaPlayer()
{
String PATH_TO_FILE = Environment.DIRECTORY_DOWNLOADS + "/d1.mp3";
mp = new MediaPlayer();
try {
mp.setDataSource(PATH_TO_FILE);
mp.prepare();
Toast.makeText(this, PATH_TO_FILE, Toast.LENGTH_LONG).show();
stateMediaPlayer = stateMP_NotStarter;
textState.setText("- IDLE -");
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
stateMediaPlayer = stateMP_Error;
textState.setText("- ERROR!!! -");
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
stateMediaPlayer = stateMP_Error;
textState.setText("- ERROR!!! -");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(this, e.toString(), Toast.LENGTH_LONG).show();
stateMediaPlayer = stateMP_Error;
textState.setText("- ERROR!!! -");
}
}
public void play(View view) {
initMediaPlayer();
mp.start();
}
Каковы значения 'PATH_TO_FILE', которые вы получаете? –