gpt4 book ai didi

java - 如何播放Environment.DIRECTORY_DOWNLOADS中的mp3文件

转载 作者:行者123 更新时间:2023-12-01 09:19:50 25 4
gpt4 key购买 nike

我通过以下代码从 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();
}

最佳答案

您应该使用 getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)(用于应用下载)或 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) 获取下载文件的完整路径。

关于java - 如何播放Environment.DIRECTORY_DOWNLOADS中的mp3文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com