0

私は問題があります。アクティビティが停止しても、メディア プレーヤーが停止しません。メディアプレーヤーが停止しない理由がわかりません。メディアプレーヤーは、mp3 が終了するまですぐに再生します。ここに私のコード

public class Isi_TakbiratulIhram extends Activity{
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.isitakbiratulihram);

    ImageButton iftitah1=(ImageButton) findViewById (R.id.takbiratulihram1);
    iftitah1.setOnClickListener(new OnClickListener(){
         @Override
        public void onClick(View v){
            go();
         }
        public void go(){

            if(mp != null ){
                mp.stop();
                try {
                    mp.prepare();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                mp.seekTo(0);

                mp = null;

            }
            else {
                mp=MediaPlayer.create(Isi_TakbiratulIhram.this, R.raw.iftitah1);


            mp.start();


            }




 }});

手伝ってくれてありがとう

4

3 に答える 3

0

そこでオーバーライドonPause()またはonStop()停止できます。

@Override protected void onPause()
{
    if(mp != null ){
        mp.stop();
        // mp.release(); ??
    }
    super.onPause();
}
于 2012-10-13T02:49:12.757 に答える
0

onPause()Media Player を停止するためのActivity メソッドのオーバーライド:

@Override
public void onPause(){
    super.onPause();
    if (mp != null) {
        mp.stop();
        mp.release();
        mp = null;
    }
于 2012-10-13T02:51:13.037 に答える
0

ユーザーがアクティビティを停止すると、アクティビティの状態が onStop() 状態になる可能性があるため、ここで再生中の音楽などの進行中のタスクを停止する必要があります。そのため、Android プログラミングでは、onRestart()、onResume()、などのすべての状態を処理する必要があります。プログラムの適切な機能のための onStop()、onPause()、onDestroy()。

アクティビティの停止と再開の処理については、http: //developer.android.com/training/basics/activity-lifecycle/stopping.htmlを参照してください。

于 2012-10-13T02:51:59.933 に答える