SoundPool重复三星Galaxy S3的问题

时间:2012-09-09 12:19:12

标签: java android audio

我正在尝试为我的应用程序播放背景声音,我使用SoundPool类,我的问题是,只有当我设置 循环时声音才能正常播放/ strong>带零值的参数,但它不适用于任何其他值。

我的初始化代码是:

    soundpool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
    soundsMap = new HashMap<Integer, Integer>();
    soundsMap.put(1, soundpool.load(this, R.raw.soundfile_1, 1));
    soundsMap.put(2, soundpool.load(this, R.raw.soundfile_2, 1));

我的游戏代码是

 soundpool.play(1,  0.9f, 0.9f, 1, -1, 1f);

正如我提到的声音工作时,我把(0)而不是(-1)作为循环值,任何人都知道为什么(-1)或除(0)以外的任何值都不起作用(没有输出声音)?

1 个答案:

答案 0 :(得分:1)

文件大小可能太大而无法按照此处报告的那样进行循环:http://www.talkandroid.com/android-forums/android-development-answers-tutorials-code-snippets/5132-soundpool-setloop-possible-bug.html

一般来说SoundPool的文件大小看起来相当大,所以也许应该将声音片段切割成较小的片段和/或使用的MediaPlayer。