Android studio 如何正确停止MediaPlayer?

Android studio 如何正确停止MediaPlayer?,android-studio,media-player,Android Studio,Media Player,我可以停止音频,但如果我检查我的Android Studio调试窗口,我会看到MediaPlayer在后台工作 我播放这样的声音: try { myMediaPlayer1 = new MediaPlayer(); myMediaPlayer1.setAudioStreamType(AudioManager.STREAM_MUSIC); myMediaPlayer1.setDataSource("http://myweb.com/audios/1.mp3"); myMediaPlayer1.pr

我可以停止音频,但如果我检查我的Android Studio调试窗口,我会看到MediaPlayer在后台工作

我播放这样的声音:

try {
myMediaPlayer1 = new MediaPlayer();
myMediaPlayer1.setAudioStreamType(AudioManager.STREAM_MUSIC);
myMediaPlayer1.setDataSource("http://myweb.com/audios/1.mp3");
myMediaPlayer1.prepare();
myMediaPlayer1.start();    
} catch (Exception e) {
// TODO: handle exception
}
@Override
protected void onDestroy() {
    super.onDestroy();
    myMediaPlayer1.stop();
}
我通过点击按钮或类似的方式停止MediaPlayer:

try {
myMediaPlayer1 = new MediaPlayer();
myMediaPlayer1.setAudioStreamType(AudioManager.STREAM_MUSIC);
myMediaPlayer1.setDataSource("http://myweb.com/audios/1.mp3");
myMediaPlayer1.prepare();
myMediaPlayer1.start();    
} catch (Exception e) {
// TODO: handle exception
}
@Override
protected void onDestroy() {
    super.onDestroy();
    myMediaPlayer1.stop();
}
我通过USB连接进行调试。停止声音后,我看到MediaPlay在后台工作:

您需要使用
mediaPlayer.release()
释放媒体播放器。如果
MediaPlayer
没有播放任何歌曲/音频,则不应停止
MediaPlayer
。有关更多帮助,请参阅下面的代码

private void releaseMediaPlayer() {
    try {
        if (mediaPlayer != null) {
            if (mediaPlayer.isPlaying())
                mediaPlayer.stop();
            mediaPlayer.release();
            mediaPlayer = null;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

谢谢,它可以工作:
myMediaPlayer1.setOnCompletionListener(newmediaplayer.OnCompletionListener(){@Override public void onCompletion(MediaPlayer-myMediaPlayer1){releaseMediaPlayer();}})