使用soundpool播放声音会导致声音切断

时间:2017-06-22 09:54:30

标签: android

我正在使用soundpool播放声音,但我观察到声音被切断了。只有一半的声音播放。我不知道发生了什么。 当我伸展箭头并且它触及它播放的任何物体时,我正在使用声音。我正在共享代码

soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
    @Override
    public void onLoadComplete(SoundPool sp, int sampleId, int status) {
        soundPool.play(sampleId, 1.0f, 1.0f, 0, 0, 1.0f);
    }
});
soundPool.load(GameActivity.this, R.raw.btn_click, 1);`

任何人都知道这一点。

1 个答案:

答案 0 :(得分:0)

SoundPool用于播放很小的声音。它的最大缓冲区限制为1MB。它将音频文件解压缩为pcm格式,这取决于采样率和歌曲长度。因此,您的文件可能不需要实际为1MB。

对于冗长的声音,您可以使用android' s MediaPlayer

mediaPlayer = MediaPlayer.create(this, R.raw.audio_file);
mediaPlayer.start();