我创建了一个应用程序,该应用程序在单击按钮时使用MediaPlayer播放随机(短)声音。声音在Android设备< 2.2上正确播放。这是负责播放声音的代码。Mediaplayer在Android 2.2上播放奇怪的声音
r = new Random();
sounds = new ArrayList<MediaPlayer>();
sounds.add(MediaPlayer.create(this, R.raw.sound1));
sounds.add(MediaPlayer.create(this, R.raw.sound2));
sounds.add(MediaPlayer.create(this, R.raw.sound3));
sounds.add(MediaPlayer.create(this, R.raw.sound4));
sounds.add(MediaPlayer.create(this, R.raw.sound5));
theButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
playSound();
}
});
private void playSound() {
Thread thread = new Thread() {
public void run() {
MediaPlayer soundPlayer = sounds.get(r.nextInt(sounds.size()));
while (soundPlayer.isPlaying())
{
soundPlayer = sounds.get(r.nextInt(sounds.size()));
}
soundPlayer.seekTo(0);
soundPlayer.start();
}
};
thread.start();
}
声音都是.wav文件。我试图将它们转换为.mp3,但他们根本不会玩。我在做一些非常错误的事情,还是2.2 bug中的MediaPlayer?任何人都有这个问题,并知道修复?请记住,在Android版本低于2.2的所有其他设备上,声音都可以正常播放。
我在这里有同样的问题。有没有必要重新采样wav文件? – StefanMK 2011-01-31 15:17:22