声音池没有完成播放整个文件

时间:2013-06-13 22:04:26

标签: android handler lag soundpool

我有两个我想了解的问题。

我正在使用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);
        }
        });

1 个答案:

答案 0 :(得分:5)

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

每次播放声音都使用它:

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

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