我正在尝试从原始文件夹播放.mp3声音,但是某种程度上声音无法播放。该代码确实执行play方法,但不会产生声音。这是我的代码:
public SoundPlayer(Context context) {
this.context = context;
AudioManager audioManager = (AudioManager) context.getSystemService(Service.AUDIO_SERVICE);
soundPool = new SoundPool(3, AudioManager.STREAM_MUSIC, 0);
clickId = soundPool.load(context, R.raw.bubbleclick, -1);
errId = soundPool.load(context, R.raw.bubbleclickerror, 1);
countId = soundPool.load(context, R.raw.countdowntick, 1);
float actualVolume = (float) audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
float maxVolume = (float) audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
volume = actualVolume / maxVolume;
}
public void playBubbleClick() {
if (!isMuted()) {
soundPool.play(clickId, volume, volume, 1, 0, 1);
}
}
我首先实例化SoundPlayer类(自定义类),然后调用playBubbleClick()
最佳答案
我没有解决问题,但是通过在onLoad事件中调用play方法(设置onLoadListener时)来解决此问题。这确实解决了问题,但仍然不应该是这样做的方法。
关于android - SoundPool播放不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20095235/