如何在我按 Home 键时停止 Mediaplayer,但在另一个 activity
How to stop a Mediaplayer when i press Home, BUT not in an other activity
首先,抱歉我的英语不好
使用我的代码,我可以在按下主页按钮时停止 Mediaplayer,但是当我 "open" 另一个 activity 时我也会停止它。
然后,我只想知道当我按下主页按钮时我是否可以停止媒体播放器(我的代码中的 mpFond ),但当我打开另一个 activity.
这是我的代码:
private MediaPlayer mpFond;
public void onCreate(Bundle savedInstanceState) {
//some code
mpFond = MediaPlayer.create(AccueilActivity.this,R.raw.accueil);
mpFond.setAudioStreamType(AudioManager.STREAM_MUSIC);
mpFond.setLooping(true);
mpFond.start();
// "definition" des boutons
Button play = (Button) findViewById(R.id.play);
//some code
play.setOnClickListener(new View.OnClickListener() { // LE BOUTON JOUER
@Override
public void onClick(View v) {
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
//Lorsqu'on clique sur "JOUER"
mp = MediaPlayer.create(AccueilActivity.this,R.raw.bruit);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
//if silent mode
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
mp.setVolume(0,0);
break;
}
//demarrage du son
mp.start();
Intent intent = new Intent(app, MainActivity.class);
startActivity(intent);
}
});
//some code
}
//some code
@Override
public void onPause()
{
super.onPause();
if(mpFond.isPlaying()){
mpFond.pause();
}
}
@Override
public void onStop()
{
super.onStop();
if(mpFond.isPlaying()){
mpFond.stop();
}
}
现在一切正常。刚刚找到了这样做的方法:
@Override
public void onPause()
{
super.onPause();
if(mpFond.isPlaying()this.isFinishing()){
mpFond.pause();
}
}
@Override
public void onStop()
{
super.onStop();
if(this.isFinishing(){
mpFond.stop();
}
}
首先,抱歉我的英语不好 使用我的代码,我可以在按下主页按钮时停止 Mediaplayer,但是当我 "open" 另一个 activity 时我也会停止它。 然后,我只想知道当我按下主页按钮时我是否可以停止媒体播放器(我的代码中的 mpFond ),但当我打开另一个 activity.
这是我的代码:
private MediaPlayer mpFond;
public void onCreate(Bundle savedInstanceState) {
//some code
mpFond = MediaPlayer.create(AccueilActivity.this,R.raw.accueil);
mpFond.setAudioStreamType(AudioManager.STREAM_MUSIC);
mpFond.setLooping(true);
mpFond.start();
// "definition" des boutons
Button play = (Button) findViewById(R.id.play);
//some code
play.setOnClickListener(new View.OnClickListener() { // LE BOUTON JOUER
@Override
public void onClick(View v) {
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
//Lorsqu'on clique sur "JOUER"
mp = MediaPlayer.create(AccueilActivity.this,R.raw.bruit);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
//if silent mode
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
mp.setVolume(0,0);
break;
}
//demarrage du son
mp.start();
Intent intent = new Intent(app, MainActivity.class);
startActivity(intent);
}
});
//some code
}
//some code
@Override
public void onPause()
{
super.onPause();
if(mpFond.isPlaying()){
mpFond.pause();
}
}
@Override
public void onStop()
{
super.onStop();
if(mpFond.isPlaying()){
mpFond.stop();
}
}
现在一切正常。刚刚找到了这样做的方法:
@Override
public void onPause()
{
super.onPause();
if(mpFond.isPlaying()this.isFinishing()){
mpFond.pause();
}
}
@Override
public void onStop()
{
super.onStop();
if(this.isFinishing(){
mpFond.stop();
}
}