2012-01-16 8 views
0

私の主な活動の中で私はループするように設定されたメディアプレーヤーの変数を持っています。私がホームボタンを押すと、音楽は引き続き再生されます。私がむしろ起こるのは、ユーザーがホームボタンを押すと音楽が止まるということです。ホームボタンをオーバーライドすることはできません。私はonPause()を試しましたが、画像ボタンをクリックすると、音楽メディアプレーヤーは停止します。この問題を回避する方法はありますか?ありがとう、私のコードが必要かどうか教えてください。ホームボタンが押されたときにMedia Playerを停止する方法

MainActivity:あなただけのホームボタンのイベントを読み取って、メディアプレーヤーを一時停止または停止しないのはなぜ

package com.crazycastles; 


import android.app.Activity; 
import android.content.Intent; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.ImageButton; 



public class MainActivity extends Activity implements OnClickListener { 
    /** Called when the activity is first created. */ 
    static MediaPlayer mainSound; 


    @Override 







    public void onCreate(Bundle savedInstanceState) { 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
     WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     mainSound = MediaPlayer.create(MainActivity.this, R.raw.mainscreen); 
     mainSound.setLooping(true); 
     mainSound.start(); 



     //CREATE BUTTON 1 & SOUND 
     final MediaPlayer buttonSound = MediaPlayer.create(
       MainActivity.this, R.raw.swords); 

     ImageButton button1 = (ImageButton) findViewById(R.id.button1); 
     button1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       buttonSound.start(); 
       startActivity(new Intent(MainActivity.this, 
         button1Activity.class)); 
      } 
     }); 

     ImageButton multiplayerbutton = (ImageButton) findViewById(R.id.multiplayerbutton); 
     multiplayerbutton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       buttonSound.start(); 
       startActivity(new Intent(MainActivity.this, 
         multiplayerbuttonActivity.class)); 
      } 
     }); 

     ImageButton optionsbutton = (ImageButton) findViewById(R.id.optionsbutton); 
     optionsbutton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       buttonSound.start(); 
       startActivity(new Intent(MainActivity.this, 
         optionsActivity.class)); 
      } 
     }); 


     ImageButton exitbutton = (ImageButton) findViewById(R.id.exitbutton); 
     exitbutton.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       buttonSound.start(); 
       finish(); 
       mainSound.stop(); 
       System.exit(0); 

      } 
     }); 





     //END OF BUTTON1 & SOUND 



     } 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_HOME) { 
      mainSound.pause(); //stop media player 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 




} 

答えて

0

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     mediaPlayer.pause(); //stop media player 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
+0

私は何をしたのかはわかりませんが、私はそのコードを入れて、ホームボタンが押されたときに再生します。私は上に自分のコードを置く。 –

関連する問題