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

Jes*_*rix 5 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);
        }
        });
Run Code Online (Sandbox Code Playgroud)

Voi*_*icu 5

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

要么每次播放声音都使用它:

MediaPlayer.create(YourActivity.this, R.raw.your_sound).start();
Run Code Online (Sandbox Code Playgroud)

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