我有两个我想了解的问题。
我正在使用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);
}
});
答案 0 :(得分:5)
我的理解是SoundPool
不能用于超过几秒钟的声音或音频文件> 1MB。在这些情况下使用MediaPlayer
。
每次播放声音都使用它:
MediaPlayer.create(YourActivity.this, R.raw.your_sound).start();
或创建MediaPlayer
对象,根据需要多次播放相同的声音,然后release()
对象。