我尝试将setLooping
设置为true,但没有任何结果。我希望在检测到事件时重复声音效果,并在释放时停止重复。
public class MainActivity extends Activity implements SurfaceHolder.Callback {
MediaPlayer player;
public void onCreate(Bundle savedInstanceState) {
player = MediaPlayer.create(this, R.raw.rifle);
player.setLooping(true);
}
@Override
public boolean onTouchEvent(MotionEvent event) {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int height = metrics.heightPixels;
if (event.getAction() == MotionEvent.ACTION_DOWN) {
int ey = (int) event.getY();
if (ey > height / 2) {
player.start();
}
}
return super.onTouchEvent(event);
}
}
答案 0 :(得分:0)
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// start music
}
else if (event.getAction() == MotionEvent.ACTION_UP) {
// stop music
}
答案 1 :(得分:0)
你没有准备好播放器。
你不能在没有准备的球员上打电话给你。