我正在为自己的兴趣开发一个简单的钢琴应用程序。问题是,当我按下一个键时,我必须等到声音结束才能再次播放同一个键!有没有什么方法可以播放那个键而不等到声音结束?
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;
}
试试
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应该可以创建多个声音。然而,在释放内存时要小心,这可能会让许多媒体播放器无所事事。。。