2013-12-11 6 views
0

Я пытаюсь разработать приложение для андроидального звука, я как бы новый в разработке, поэтому я застрял на одной небольшой проблеме. Я сделал On Button, чтобы воспроизвести звук, но я хочу, когда я снова нажму на эту кнопку, я хочу, чтобы он остановил Media Player. Я был бы признателен, если бы вы могли помочь мне со сценарием.Как остановить медиаплеер при нажатии?

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
       mpButtonClick1.start(); 
     } 
    });  
} 

ответ

0

Вы можете использоваться MediaPlayer.isPlaying(), чтобы определить, что ваш кнопка должна делать, когда нажимается.

@Override 
    public void onClick(View v) 
    { 
     if(mpButtonClick1.isPlaying()) 
     { 
      mpButtonClick1.stop(); 
     } 
     else 
     { 
      mpButtonClick1.start(); 
     } 

    } 
-1
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    boolean isOn = false; 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      is(!isOn) { // if not playing 
       mpButtonClick1.start(); // start 
       isOn = true; // now it is 
      } else { // otherwise it's already on 
       mpButtonClick1.stop(); // turn it off 
       isOn = false; // now it's off 
      } 
     } 
    });  
} 
+0

Это -1, потому что я не использую '.isPlaying()'? Шутки в сторону? Это еще один способ сделать это и работать, даже если '.isPlaying()' * не существует *. –

0

Вы можете использовать метод isPlaying.

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.prvi); 

    final MediaPlayer mpButtonClick1 = MediaPlayer.create(this, R.raw.spalshm); 

    Button dugme = (Button) findViewById(R.id.dugme); 
    dugme.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
       if(mpButtonClick1.isPlaying()) 
        stopPlaying(); 
       else 
        mpButtonClick1.start(); 
       } 
    });  
} 


private void stopPlaying() { 
     if (mpButtonClick1 != null) { 
      mpButtonClick1.stop(); 
      mpButtonClick1.release(); 
      mpButtonClick1 = null; 
     } 
    } 
Смежные вопросы