【问题标题】:Saving file in raw directory将文件保存在原始目录中
【发布时间】:2020-12-07 21:31:48
【问题描述】:

这是我保存音频文件的方式:

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

【问题讨论】:

    标签: java android


    【解决方案1】:

    你不能那样做。 raw 文件夹是 APK 的一部分。它适用于您希望包含在应用中的原始数据,但不适用于在运行时添加文件。

    请参阅下文,了解如何将 MediaPlayer 与文件一起使用。 Simple mediaplayer play mp3 from file path?

    【讨论】:

      【解决方案2】:

      这就是我可以解决的方法:

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

      【讨论】:

      • 这就是我所说的:使用输入/源,而不是输出。谢谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2022-08-21
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      相关资源
      最近更新 更多