0

私はバックグラウンド ミュージックを持つクイズ ゲームを作成しています。ここでサービスとバックグラウンド ミュージックを使用する非常に役立つソース コードを見ましたhttp://marakana.com/forums/android/examples/60.html しかし、私の問題は追加したいです。正解ボタンの EasyOne.class の別の音。機能させるために何を追加または編集しますか。私のポイントはです。easyone.class のボタンをクリックするたびにサウンドが再生されます。すべての音楽をオフにしたい場合は、正しいボタンとバックグラウンド ミュージックもオフにします。設定に移動してオフをクリックするとオフになります。ボタン。あなたが私を助けてくれることを願っています。

これが私のサービスのコードです

public class MusicService extends Service {
private static final String TAG = "";
MediaPlayer player;


@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public void onCreate() {
    Toast.makeText(this, "ON", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onCreate");

    player = MediaPlayer.create(this, R.raw.bsound);
    player.setLooping(false);
}

@Override
public void onDestroy() {
    Toast.makeText(this, "OFF", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onDestroy");
    player.stop();
}

@Override
public void onStart(Intent intent, int startid) {
    Toast.makeText(this, "ON", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onStart");
    player.start();
}

}

ここに私の設定があります

public class Settings extends Activity implements OnClickListener {
  private static final String TAG = "";
  Button on, off, back;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.settings);
    back = (Button) findViewById(R.id.btn_backk);
    on = (Button) findViewById(R.id.btn_on);
    off = (Button) findViewById(R.id.btn_off);
    back.setOnClickListener(new View.OnClickListener() {
        @Override   
       public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"Back",
                    Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(getApplicationContext(),MainMenu.class);
            startActivity(intent);
    }
 });    
    on.setOnClickListener(this);
    off.setOnClickListener(this);
  }

  public void onClick(View src) {
    switch (src.getId()) {
    case R.id.btn_on:
      Log.d(TAG, "onClick: starting srvice");
      startService(new Intent(this, MusicService.class));
      break;
    case R.id.btn_off:
      Log.d(TAG, "onClick: stopping srvice");
      stopService(new Intent(this, MusicService.class));
      break;
    }
  }
}

my EasyOne.class - (レベル 1 イージー モードのクラス)

public class EasyOne extends Activity {

ImageButton a, b, c;
Intent intent ;
CountDownTimer cdt;
TextView timer;
MediaPlayer clap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.easyone);
    a = (ImageButton) findViewById(R.id.ib_a);
    b = (ImageButton) findViewById(R.id.ib_b);
    c = (ImageButton) findViewById(R.id.ib_c);
    timer = (TextView) findViewById(R.id.tv_timer);
    cdt = new CountDownTimer(5000,1000) {

        @Override
        public void onTick(long millisUntilFinished) {
               timer.setText("seconds remaining: " + millisUntilFinished / 1000);

        }

        @Override
        public void onFinish() {
              timer.setText("TIMES UP!");
            intent = new Intent(getApplicationContext(),TimesUp.class);
            startActivity(intent);

        }
    };

    intent = new Intent(getApplicationContext(),ChoiceTwo.class);
    a.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(intent);
          //i want to add a sound here that will play if they click this button and can turn it OFF on the setting.class OFF button
            cdt.cancel();
            Intent intent = new Intent(getApplicationContext(),ChoiceTwo.class);
            startActivity(intent);


        }
    });


    cdt.start();
}
}
4

1 に答える 1

0

コードのメイン アクティビティ (ゲームが実際に開始される場所) に、次のように記述します。

startService(新しいインテント(MusicService.class))

これにより、ゲームが開始されるとすぐに音楽の再生が開始されます

于 2013-08-03T14:56:42.330 に答える