首页 文章

无法关闭android MediaPlayer

提问于
浏览
0

我尝试了Android MediaPlayer服务来传输音乐 . 一切都很好,唯一的问题是MediaPlayer正在播放时按下按钮导致强制关闭并获得下面的 at android.media.MediaPlayer.isPlaying(Native Method) 是我的代码播放以及我如何尝试停止和关闭媒体播放器,任何想法?

玩:

private class Stream extends AsyncTask<String, String, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        try {
            mp.reset();
            mp.setDataSource(url);
            mp.prepare();
            mp.start();
            songProgressBar.setProgress(0);
            songProgressBar.setMax(100);
            updateProgressBar();
        } catch (Exception e) {
        }
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        mHandler.postDelayed(timeUpdate, 100);
    }
}

收盘:

@Override
protected void onDestroy() {
    super.onDestroy();
    if (mp != null) {
        mp.stop();
        mp.release();
    }
    finish();
}

@Override
public void onBackPressed() {
    super.onBackPressed();
    onDestroy();
}

2 回答

  • 0

    更换

    @Override
    public void onBackPressed() {
        super.onBackPressed();
        onDestroy();
    }
    

    @Override
    public void onBackPressed() {
    if (mp != null) {
            mp.stop();
            mp.release();
        }
        finish();
        super.onBackPressed();
    }
    

    试试吧...

  • 1

    尝试实现onkeydown事件可能有帮助:

    public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (mp != null) {
                mp.stop();
                mp.release();
            }
            finish();
            return super.onKeyDown(keyCode, event);
        }
    

相关问题