2

アプリケーションで [戻る] または [ホーム] を押すと、非表示になりますが、MediaPlayer は続行します。これらのボタンがいつ押されたかを知り、閉じる前に再生を停止する方法はありますか?

4

3 に答える 3

3

メディアプレーヤーが呼び出しているクラスにこのメソッドを実装するだけです...

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK)) 
        { //Back key pressed
           //Things to Do
            if(mediaPlayer!= null)
            {
                mediaPlayer.stop();
                mediaPlayer=null;
            }
            finish();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
于 2011-10-05T05:36:28.013 に答える
2

onPause()で関数をオーバーライドできるはずですActivity。あなたが隠れているonPause()ときに呼び出され、そこで一時停止できます。ActivityMediaPlayer

例えば、

@Override
protected void onPause() {
    super.onPause(); // Don't forget this line
    myMediaPlayer.pause() // Or whatever the function is to pause it
}
于 2010-09-12T17:57:59.207 に答える
1

super.onPause; を追加することを忘れないでください。忘れるとFCになります。

于 2010-09-12T22:16:32.487 に答える