【发布时间】:2020-04-07 01:10:33
【问题描述】:
我从一个 Url 下载了 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的值是多少?
标签: java android android-studio audio media-player