我在一个非常简单的应用程序中有两个按钮,这是当我单击其中两个按钮时的代码:
public void button_clicked1(View v)
{
text1.setText("1"+width);
mp = MediaPlayer.create(GameScreen.this, R.raw.piano_a);
try {
mp .prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mp.start();
}
public void button_clicked2(View v)
{
text1.setText("2"+height);
mp = MediaPlayer.create(GameScreen.this, R.raw.piano_b);
/*
try {
mp .prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}*/
mp.start();
}
每个原始钢琴音符大约需要20秒...但是当我按下任一按钮时,我希望它立即播放文件...但是我发现存在延迟(并且延迟会越来越大),有时如果我快速按下两个按钮几次...它将强制退出:(
最佳答案
根据文档,在加载原始音频文件(正确编码)时,您无需调用prepare,只需:
MediaPlayer mediaPlayer = MediaPlayer.create(GameScreen.this, R.raw.piano_a);
mediaPlayer.start();
这应该做。
关于android - Android,按下按钮时音乐播放滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060603/