6

我有两个问题想了解。

我正在使用soundPool我的音效,它的工作没有问题。但是,当我尝试播放 cetain 文件(25 秒,大约 400K)时,它不会播放整个文件,只有 3-4 秒。

为什么以及如何解决?

第二个问题是,我应该从线程中播放每个效果吗?许多线程是好的?

这是当前代码:

static void play(final int soundID ){
    if(loaded){
        handler.post(new Runnable()
        {
        public void run()
        {
            soundpool.play(soundID, 1, 1, 1, 0, 1);
        }
        });
4

1 回答 1

5

我的理解是SoundPool不能用于超过几秒的声音或>1MB 的音频文件。MediaPlayer在这些情况下使用。

每次播放声音时都使用它:

MediaPlayer.create(YourActivity.this, R.raw.your_sound).start();

或创建MediaPlayer对象,根据需要多次播放相同的声音,然后创建release()对象。

于 2013-06-13T23:35:09.820 回答