在原始目录中保存文件

h79rfbju  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(398)

以下是保存音频文件的方法:

try (FileOutputStream out = new FileOutputStream(getFilesDir() + "/output.mp3")) {
    System.out.println(getFilesDir());
    out.write(audioContents.toByteArray());
    System.out.println("Audio content written to file \"output.mp3\"");
}

工作正常,但我想播放的音频文件。所以我可以用:

MediaPlayer mp = MediaPlayer.create(this, R.raw.output);
mp.start();

这不起作用,因为第二个参数不是我的音频文件的正确路径。那么如何将音频文件保存在src/main/res/raw中,以便使用 R.raw.ouput ?

m1m5dgzv

m1m5dgzv1#

你不能那样做。原始文件夹是apk的一部分。它是为你想要包含在你的应用程序中的原始数据准备的,而不是在运行时添加文件。
有关如何将mediaplayer与文件一起使用,请参见下文。简单的mediaplayer从文件路径播放mp3?

iklwldmw

iklwldmw2#

我可以这样解决:

String myFile = getFilesDir() + "/output.mp3";
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(myFile);
mediaPlayer.prepare();
mediaPlayer.start();

相关问题