1

私のアプリには、クリックすると短い mp3 ファイルを再生するボタンがあります。たとえば、ユーザーが電話をかけたり、ホームボタンがクリックされたりしたときに、メディアプレーヤーオブジェクトを適切に解放して再利用したい (他のアプリに干渉しないようにするため)。

このように実装onPauseしてonStopする場合:

@Override
public void onPause() {
    super.onPause();
    mp.release();
    mp = null;
}

@Override
public void onStop() {
    super.onStop();
    mp.release();
    mp = null;
}

onRestart が呼び出されているときに mp を再利用するにはどうすればよいですか? それは正しい方法ですか?多分私は使用する必要がありますmp.stop()か?

ありがとう

編集:私は自分で解決策を見つけました。オブジェクトの再作成:

@Override
publib void onResume() {
    super.onResume();
    mp = new MediaPlayer();
}

仕事をします。まだ初心者です... :)ありがとう

4

1 に答える 1

1

使用するonCompletion

@Override
                                public void onCompletion(MediaPlayer mp) {
                                    // TODO Auto-generated method stub
                                    myStereo.setLooping(true);
                                    myStereo.release();
                                    try {
                                        myStereo.prepare();
                                    } catch (IllegalStateException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    } catch (IOException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                    myStereo.start();


                }
于 2013-08-06T07:56:30.227 に答える