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

How to play a WAV file loaded from Assets folder in Android?

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

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

这是我的代码

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();
}

你试过吗?

 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. 请确保 \assets 文件夹已放置 正确(\app\src\main\assets)
  2. 检查您的设备音量。
  3. 在 PC 媒体播放器中播放 success.wav 并确保可以听到。

注: 使用设备音量控制:

setVolumeControlStream(AudioManager.STREAM_MUSIC);

如果您的应用与媒体相关,请在 activity 的 onResume() 中使用 setVolumeControlStream API 或分段并使用设备音量硬键到 increase/decrease 音量。这将应用程序设置为仅修改 stream_music volume /media volume,否则它将修改 ring volume。 参考:https://developer.android.com/guide/topics/media-apps/volume-and-earphones