如何通过按下按钮返回或按钮主页停止播放声音

Posted

技术标签:

【中文标题】如何通过按下按钮返回或按钮主页停止播放声音【英文标题】:How to stop play sound by press button back or button home 【发布时间】:2018-01-30 04:25:24 【问题描述】:

如何通过按返回键或主页键停止播放声音 请帮助我:

public class MainActivity extends AppCompatActivity 

    Button play;


    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        play = (Button) findViewById(R.id.button_play);
        final MediaPlayer mP = MediaPlayer.create(MainActivity.this,R.raw.music);
        play.setOnClickListener(new View.OnClickListener() 


        @Override
        public void onClick(View v) 
        if (mP.isPlaying()) 
            mP.pause();
            play.setBackgroundResource(R.drawable.play);

              else 
             mP.start();
             play.setBackgroundResource(R.drawable.pause);

              







);


【问题讨论】:

您可以在 onBackPressed() 方法上暂停该媒体播放器。 【参考方案1】:

onPause();方法中暂停媒体播放器

  @Override
    protected void onPause() 
        if (mMediaPlayer != null && mMediaPlayer.isPlaying())
            mMediaPlayer.pause();
        
        super.onPause();
    

希望它对你有用。 更多信息请参考MediaPlayer LifeCycle

【讨论】:

【参考方案2】:

停止音乐播放器

 private void stopPlaying() 
            if (mp != null) 
                mp.stop();
                mp.release();
                mp = null;
           
        

按返回键或主页键停止播放声音

在活动中,您需要在 onDestroyonBackPressed 上停止音乐

@Override
protected void onDestroy() 
    super.onDestroy();
    stopPlaying();


@Override
public void onBackPressed() 
    super.onBackPressed();
    stopPlaying();

【讨论】:

谢谢阿迪尔胡森

以上是关于如何通过按下按钮返回或按钮主页停止播放声音的主要内容,如果未能解决你的问题,请参考以下文章

在android soundpool中播放新声音时如何停止所有其他以前的声音?

Swift,如何通过按下按钮一次又一次地播放声音

返回我的播放器应用后没有声音

按下按钮时循环播放声音

如何停止 AudioToolbox 声音?

同时播放两个声音c#