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 回答