android - SoundPool 播放不工作

标签 android soundpool android-audiomanager

我正在尝试播放原始文件夹中的 .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/

相关文章:

android - 界面性能问题

java - 如何在用户单击 autocom 时显示 HashMap 键的值

java - 单击图像时播放声音

安卓 Java : how to disable microphone input while streaming system audio?

Android AudioManager.setSpeakerphoneOn() 不会更改扬声器按钮状态

android - 销售包括 AndroidPlot 在内的应用程序

java - 初学者 Android 应用程序崩溃

android - AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

Android - 使用硬件音量按钮控制 SoundPool 的音量?

Android 录制音频问题