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