有没有可靠的方法来防止在soundpool中截断声音?我在声音之间的sleep()函数方面取得了一些成功,但是在开始另一个声音之前它们有时仍会错过最后一点声音.我的应用程序按顺序播放短音.杰瑞
小智 5
虽然这是一个老问题,我想我会在这里发布一些东西,因为我在网上找不到解决这个问题的方法,但确实提出了一些解决方案......
当我的应用程序启动时,我得到每个声音的持续时间(使用MediaPlayer),并将R.id.sound_name值和持续时间存储在一起.然后我可以使用SoundPool播放声音.
获取持续时间的代码:
private long getSoundDuration(int rawId){
MediaPlayer player = MediaPlayer.create(context, rawId);
int duration = player.getDuration();
return duration;
}
Run Code Online (Sandbox Code Playgroud)
在我的声音课上,我像往常一样播放声音,然后睡觉一段时间.非常简单的东西.
似乎运作良好.给我SoundPool的低延迟优势,以及连锁东西的能力.
有几点需要注意:
归档时间: |
|
查看次数: |
2490 次 |
最近记录: |