SoundPool播放不起作用

时间:2013-11-20 11:53:43

标签: android soundpool android-audiomanager

我正在尝试从我的原始文件夹中播放.mp3声音,但不知何故声音无法播放。代码确实执行播放方法,但它不会产生声音。这是我的代码:

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

1 个答案:

答案 0 :(得分:1)

我没有解决问题,但我通过调用onLoad事件中的play方法(设置onLoadListener时)解决了这个问题。这确实解决了这个问题,但仍然不应该这样做。