其他分享
首页 > 其他分享> > android – 声音池没有完成播放整个文件

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

作者:互联网

我有两个问题我想了解.

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

解决方法:

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

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

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

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

标签:android,handler,lag,soundpool
来源: https://codeday.me/bug/20190620/1243582.html