I'm trying to play a .mp3 sound from my raw folder, but somehow the sound doesn't play. The code does execute the play method but it doesn't produce sound. Here's my code:

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

I first instantiate the SoundPlayer class (custom class), and then call playBubbleClick()

有帮助吗?

解决方案

I didn't solve the issue but I worked around it by calling the play method in the onLoad event (when setting an onLoadListener). This does solve it, but still shouldn't be the way it is done.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top