1

音楽を再生する onCreate メソッドで呼び出される関数があります...

    public void playBeep() {
    try {

        if (m.isPlaying()) {
            m.stop();
            m.release();
            m = new MediaPlayer();
        }
        AssetFileDescriptor descriptor = getAssets().openFd("beep.mp3");
        m.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
        descriptor.close();

        m.prepare();
        m.setVolume(1f, 1f);
        m.setLooping(true);
        m.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
   }

onPause メソッドで、音楽を停止するコードを書いたので、ユーザーがアクティビティを離れると、音楽は自動的に停止するはずです...

        @Override
protected void onPause() {
    isBeeping = false;
    if (m != null) {

        if (m.isPlaying()) {
            m.stop();
            m.release();
        }
    }
    super.onPause();
}

正常に動作することもありますが、音楽が止まらないこともあります!!!

アクティビティを終了するときに音楽を停止する方法を誰か教えてもらえますか :)

4

1 に答える 1

1

これを試してください:

@Override
protected void onPause() {
    super.onPause(); 
    isBeeping = false;
    if (m != null)
       m.release();       
}

ありがとう。

于 2013-01-27T06:21:55.323 に答える