2016-07-13 6 views
-2

У меня есть 3 медиаплеера, и я хочу, когда я нажимаю на кнопку с изображением, все три медиаплеера останавливаются вместе.Как остановить 3 медиаплеера, когда я нажимаю кнопку изображения?

вот мой код:

private MediaPlayer mp,mp1,mp2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.page1); 
    final TextView myText = (TextView) findViewById(R.id.textView1); 
     MediaPlayer mp = MediaPlayer.create(Page1Activity.this, R.raw.two); 
      mp.start(); 
      myText.setText("2"); 
    final TextView myText2 = (TextView) findViewById(R.id.textView2); 
     MediaPlayer mp1 = MediaPlayer.create(Page1Activity.this, R.raw.two); 
      mp1.start(); 
      myText2.setText("2"); 
    final TextView myText3 = (TextView) findViewById(R.id.textView3); 
     MediaPlayer mp2 = MediaPlayer.create(Page1Activity.this, R.raw.four); 
      mp2.start(); 
      myText3.setText("4"); 
    ImageButton btn1 = (ImageButton) findViewById(R.id.imageButton1); 
    btn1.setOnClickListener(new OnClickListener() 
    { public void onClick(View v) 
     { Intent i = new Intent(Page1Activity.this, Page2Activity.class);  
      startActivity(i); 

      if (mp != null) { mp.stop(); mp.release(); mp = null;} 
      if (mp1 != null) { mp1.stop(); mp1.release(); mp1 = null;} 
      if (mp2 != null) { mp2.stop(); mp2.release(); mp2 = null;} 
     } }); 

Как я могу остановить все три медиаплееры вместе?

+0

Выполнение той же проблемы, с которой вы сталкиваетесь? и одно предложение переместить весь код, связанный с остановкой медиаплеера до 'startActivity (i);' –

+0

Итак, в чем проблема? –

+0

@ ρяσѕρєяK Спасибо. Я перемещаю их перед startActivity, но не работает и не останавливаюсь – MonaK

ответ

1
private MediaPlayer mp,mp1,mp2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.page1); 
    final TextView myText = (TextView) findViewById(R.id.textView1); 
     mp = MediaPlayer.create(Page1Activity.this, R.raw.two); 
      mp.start(); 
      myText.setText("2"); 
    final TextView myText2 = (TextView) findViewById(R.id.textView2); 
     mp1 = MediaPlayer.create(Page1Activity.this, R.raw.two); 
      mp1.start(); 
      myText2.setText("2"); 
    final TextView myText3 = (TextView) findViewById(R.id.textView3); 
     mp2 = MediaPlayer.create(Page1Activity.this, R.raw.four); 
      mp2.start(); 
      myText3.setText("4"); 
    ImageButton btn1 = (ImageButton) findViewById(R.id.imageButton1); 
    btn1.setOnClickListener(new OnClickListener() 
    { public void onClick(View v) 
     { Intent i = new Intent(Page1Activity.this, Page2Activity.class);  
      startActivity(i); 

      if (mp != null) { mp.stop(); mp.release(); mp = null;} 
      if (mp1 != null) { mp1.stop(); mp1.release(); mp1 = null;} 
      if (mp2 != null) { mp2.stop(); mp2.release(); mp2 = null;} 
     } }); 

Чувак .. вы объявляете его два раза. Попробуйте этот код.

+0

Что изменилось в этом коде Babul ?? – MonaK

+0

частный MediaPlayer mp, mp1, mp2; и mp = MediaPlayer.create (Page1Activity.this, R.raw.two); –

+0

@MonaK он объявил объекты медиапланера два раза. –

Смежные вопросы