Android - playing different sounds every time you press

If I want to play a sound when the user clicks a button, this is:

Button one = (Button) this.findViewById(R.id.button1);
final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);     

one.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v){ 
    mp.start(); }
    });

But what should I do when I have 2 sounds and I want to play different sounds each time I press?

+4
source share
10 answers
int iClicked = 0;
public void onClick(View v) 
{ 
    iClicked++;
    if(iClicked % 2==0){
       // Do sth, e.g. play sound I
    }
    else { // Do sth else, e.g. play sound II
    }
}
+3
source

It is very simple. look at the sample code and try ...

        final boolean isFirstSound = true;
        Button one = (Button) this.findViewById(R.id.button1);
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);
        final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.second_sound);
        one.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                isFirstSound = !isFirstSound;
                if(isFirstSound)
                    mp.start();
                else
                    mp2.start();
            }
        });
+1
source

    private int rId=0;//class member
    //onclick
    final int [] music={R.raw.soho,R.raw.other};
    int id=music.length%2;
    final MediaPlayer mp = MediaPlayer.create(this, rId);
    id++;
0

?

:

1. Integer.ike:

int arrRawFiles ={R.raw.soho,R.raw.soho2,R.raw.soho3}

2. onClick , :

  public void onClick(View v) 
   { 
     int index = new Random().nextInt(arrRawFiles.length);
     MediaPlayer mp = MediaPlayer.create(this,index);
     mp.start(); 
   }
0
MediaPlayer mp;    
int clickCount=0;
one.setOnClickListener(new OnClickListener(){ 
public void onClick(View v) 
{ 
 if(clickCount %2 ==0){
    mp = MediaPlayer.create(this, R.raw.soho);
 }
 else{
    mp = MediaPlayer.create(this, R.raw.another);
 }
 mp.start();
 clickCount++;
} });
0

int[] audio={R.raw.clip1,R.raw.clip2};
for(i=0;i<audio.length;i++){

//your MediaPlayer Code here

}

, , .

0
public class ButtonPlayer implements View.OnClickListener {
    private final int[] sounds;
    private int soundIndex = -1;

    public ButtonPlayer(int... sounds) {
        this.sounds = sounds;
    }

    @Override
    public void onClick(View view) {
        if (sounds.length != 0) {
            soundIndex++;
            soundIndex = soundIndex % sounds.length;
            MediaPlayer mp = MediaPlayer.create(this, sounds[soundIndex]);
            mp.start();
        }
    }
}

- :

Button one = (Button) this.findViewById(R.id.button1);
one.setOnClickListener(new ButtonPlayer(
                           R.raw.first_composition,
                           R.raw.second_composition));

, n . , .

, , . .

0
    int count=0;
    Button one = (Button) this.findViewById(R.id.button1);
    final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);

    one.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v)
        {
            count++;

            if(count%2==1) {
                //play first sound
            }else{
                //play second sound
            }

        } });
0

-

boolean playFirst = true;
 final MediaPlayer mp = MediaPlayer.create(this, R.raw.soho);
        final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.second_sound_soho);
buttonClick.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        if(playFirst == true){
             mp.start(); 
            playFirst = false;
        }else{
             mp2.start(); 
            playFirst = true;
        }

    }
});
0

, , boolean int , 1 → 1 2

final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.soho);
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.second_sound);

buttonClick.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
        if(mp1.isPlaying()){
             mp1.stop();
             mp2.start(); 
        }else{
             mp2.stop();
             mp1.start(); 
        }
    }
});

0
source

All Articles