簡體   English   中英

如何使用手機的后退按鈕和創建的后退按鈕終止音樂?

[英]How to terminate music using back button of phone and created back button?

我在應用程序中播放音樂時遇到一些錯誤。 即使我退出應用程序,它也不會停止播放。 僅當我按下暫停或終止應用程序時,它才會停止。 這是我的音樂代碼。 我應該怎么做才能停止它。

public void play_brain(View g){

    final MediaPlayer brainMP = new MediaPlayer();
    try {
        brainMP.setDataSource("https://firebasestorage.googleapis.com/v0/b/capstone-katugna-001.appspot.com/o/meditation%20music%201%20minute%20peaceful%20music%201%20minute%20mindfulness%20meditation%201%20minute%20relax%20music%201.mp3?alt=media&token=f34fe7c7-54f1-4645-88cf-5e7a21f401d8");
        brainMP.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                mp.start();
            }
        });

        brainMP.prepare();
    } catch (IOException e) {
        e.printStackTrace();
    }

    pause.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            brainMP.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    mp.pause();
                }
            });
            brainMP.pause();
        }
    });
}

您可以嘗試使用以下代碼:

public class MainActivity extends AppCompatActivity {

    private MediaPlayer mediaPlayer;
    private Button buttonStartPause;

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

        // Initialize your MediaPlayer object here
        Uri myUri = ....; // initialize Uri here
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        mediaPlayer.setDataSource(getApplicationContext(), myUri);
        mediaPlayer.prepare();
    }

    buttonStartPause.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            if (mediaplayer.isPlaying()) {
                mediaplayer.pause();
                // here you can set the play icon to your button
            } else {
                mediaplayer.start();
                // here you can set the pause icon to your button
            }
        }
    });

    // To capture back button's pression you can override onBackPressed() in your Activity:
    @Override
    public void onBackPressed() {
        if (mediaplayer.isPlaying()) {
            mediaplayer.pause();
        }
        super.onBackPressed();  
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM