0

我正在为自己的兴趣开发一个简单的钢琴应用程序。问题是当我按下一个键时,我必须等到声音结束才能再次播放同一个键!有什么方法可以播放那个键而不是等到声音结束?

               whitekey2 = (Button)rootView.findViewById(R.id.button3);
               final MediaPlayer D4 = MediaPlayer.create(getActivity(), R.raw.d4);

            whitekey2.setOnTouchListener(new  OnTouchListener(){

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub

                 switch (event.getAction()){


                 case MotionEvent.ACTION_DOWN:

                  D4.start();                     

                 case MotionEvent.ACTION_UP:


                      }
                return false;
            }
4

1 回答 1

0

试试这个

           whitekey2 = (Button)rootView.findViewById(R.id.button3);

        whitekey2.setOnTouchListener(new  OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub

             switch (event.getAction()){


             case MotionEvent.ACTION_DOWN:

              MediaPlayer.create(getActivity(), R.raw.d4).start();                     

             case MotionEvent.ACTION_UP:


                  }
            return false;
        }

在每次按下时创建一个新的 MediaPlayer 应该允许您创建多个声音。但是,在释放内存时要小心,这最终可能会导致许多 MediaPlayer 闲置...

于 2014-06-03T17:29:48.413 回答