Android按下按钮时音乐播放滞后

时间:2011-08-15 00:05:27

标签: android audio media-player

我在一个非常简单的应用程序中有两个按钮,当点击其中任何一个按钮时,这是我的代码:

 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秒......但是当我按下其中一个按钮时我希望它立即播放文件...但我发现有一个滞后(并且滞后不断变大)有时如果我快速按下两个按钮......它会强制退出:(

1 个答案:

答案 0 :(得分:0)

根据文档,在加载原始音频文件(正确编码)时,您不需要调用prepare,只需:

MediaPlayer mediaPlayer = MediaPlayer.create(GameScreen.this, R.raw.piano_a);
mediaPlayer.start();

这应该这样做。