我正在尝试在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();
}
答案 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)
您的代码正常,我检查了它的正常工作。
\assets
文件夹
正确(\app\src\main\assets
)success.wav
,并确保其可听见。注意: 使用设备音量控件:
setVolumeControlStream(AudioManager.STREAM_MUSIC);
如果您的应用与媒体相关,请在活动或片段的onResume()上使用setVolumeControlStream API,并使用设备音量硬键增加/减少音量。这会将应用程序设置为仅修改stream_music音量/媒体音量,否则将修改铃声音量。 参考:https://developer.android.com/guide/topics/media-apps/volume-and-earphones