2017-12-11 2 views
0

나는 게임 인 앱을 만들었습니다. 주 게임 플레이 중에 만 노래를 재생하고 싶습니다. MediaPlayer가 게임 활동을 시작했습니다. 그런 다음 게임 조각 내에서 버튼을 클릭 할 때마다 노래가 중지됩니다. 단추를 클릭해도 음악이 계속 재생되기를 원합니다. 버튼을 클릭하면 MediaPlayer가 재생되지 않습니다.

게임 활동 : 나는에 넣어 가지고있는 조각의 OnClickListener를 뭔가가

@Override 
protected Fragment createFragment() { 
    return GameFragment.newInstance(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.fragment_game, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
     case R.id.quit: 
      AlertDialog.Builder builder = new AlertDialog.Builder(this); 
      builder.setCancelable(false); 
      builder.setMessage("Are you sure you want to quit this game?"); 
      builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        finish(); 
       } 
      }); 
      builder.setNegativeButton("No",new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 
        dialog.cancel(); 
       } 
      }); 
      AlertDialog alert = builder.create(); 
      alert.show(); 
      return true; 
     case R.id.music_switch: 
      MediaPlayer mp = MediaPlayer.create(this, R.raw.music); 
      if (mp.isPlaying()) 
       mp.stop(); 
      else 
       mp.start(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

있습니까?

답변

0

mp.stop() 줄을 주석 처리 해 보셨습니까?

if (mp.isPlaying()) 
    mp.stop(); // <--- here 
else 
    mp.start(); 
return true; 
+0

네, 활동이 중단되면, 단편과 상호 작용 할 때 문제가, 생각 – aanectoe

0

상태를 확인하고 재생 중일 때 일시 중지 명령을 호출 할 수 있습니다. 이 클래스를 사용할 때는이 상태 다이어그램을 완전히 참조하십시오. 왜냐하면 모든 것을 더 쉽게 만들어주기 때문입니다. 멈추었을 때 출발 할 경로가 없다는 것을 알 수 있습니다. 오히려 준비()하고 시작()해야합니다.

enter image description here

관련 문제