2013-06-03 37 views
-1

我正在發出警報,因此在關閉項目時如何停止聲音?因爲當我關閉它時聲音仍然播放,如何阻止它?我已經把這個,但沒有奏效:我該如何阻止聲音?

@Override 
protected void onStop(){ 
    super.onStop(); 
    //your code for stopping the sound 
} 

這裏是

public class MainActivity extends Activity { 
    ImageView img; 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

     setContentView(R.layout.activity_main); 

      MediaPlayer media = MediaPlayer.create(getBaseContext(), R.raw.alarm); 
      media.start(); 

     img = (ImageView) findViewById(R.id.img); 
      img.setImageResource(R.drawable.image1); 

    } 


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

} 
+0

你把media.stop();在onStop()方法 – JRowan

+0

而不是在onStop()你可能想使用onDestroy() – JRowan

+0

是的,我已經把你告訴我,但聲音仍然播放時,我關閉。 – user2446251

回答

0

什麼我用我的項目中的代碼是:

在主要活動中聲明的Ringtone實例

Ringtone ringtone; 

要開始播放聲音:

ringtone = RingtoneManager.getRingtone(this, Uri.parse(ringUri)); 
ringtone.play(); 

哪裏ringUri是鈴聲的uri或你想要的聲音播放。

要停止的聲音:

ringtone.stop(); 
0

充分利用MediaPlayer的媒體變量全球和在火災的onStop你可以有阻止它:

private MediaPlayer media; 

@Override 
protected void onStop(){ 
    super.onStop(); 
    //your code for stopping the sound 
    if(media != null && media.isPlaying()) { 
     media.stop(); 
    } 
} 
相關問題