如何播放从Android中的Assets文件夹加载的WAV文件?

时间:2019-05-03 14:29:22

标签: java android media-player

我正在尝试在Android .wav文件夹中播放assets音频。

问题是没有错误,但是音频没有播放。

这是我的代码

AssetFileDescriptor afd = null;
try {
   afd = getAssets().openFd("success.wav");
   player = new MediaPlayer();
                        player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
   player.setLooping(false);
   player.prepare();
   player.start();
} catch (IOException e) {
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:1)

您尝试过吗?

 MediaPlayer mediaPlayer = null;

    public void playSound(final Context context, final String fileName) {
        mediaPlayer = new MediaPlayer();
        try {
            AssetFileDescriptor afd = context.getAssets().openFd(fileName);
            mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
            afd.close();
            mediaPlayer.prepare();
        } catch (final Exception e) {
            e.printStackTrace();
        }
        mediaPlayer.start();
    }
}

答案 1 :(得分:1)

您的代码正常,我检查了它的正常工作。

  1. 请确保放置\assets文件夹 正确(\app\src\main\assets
  2. 检查设备的音量水平。
  3. 在PC媒体播放器中播放success.wav,并确保其可听见。

注意: 使用设备音量控件:

setVolumeControlStream(AudioManager.STREAM_MUSIC);

如果您的应用与媒体相关,请在活动或片段的onResume()上使用setVolumeControlStream API,并使用设备音量硬键增加/减少音量。这会将应用程序设置为仅修改stream_music音量/媒体音量,否则将修改铃声音量。 参考:https://developer.android.com/guide/topics/media-apps/volume-and-earphones

相关问题