Behzad Moradi
Behzad Moradi

Reputation: 67

How to add two buttons in eclipse one for playing an mp3 file and the other for stopping it

I am a newbie in android app development. For now my challenge is to add two buttons in my UI one for playing an mp3 file and the other for stopping it. I am able to do the first successfully and as I try to do the stop one, I see no result. My code is as following:

package ir.polyglotcenter.childrenmostfrequentwords;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Main extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button myButtonOne = (Button) findViewById(R.id.btn_audio);
    myButtonOne.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            MediaPlayer media = MediaPlayer.create(Main.this, R.raw.audio);
            media.start();

        }
    });
    //this is to stop the audio flow
    Button myButtonTwo = (Button) findViewById(R.id.btn_stop);
    myButtonTwo.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            MediaPlayer media = MediaPlayer.create(Main.this, R.raw.audio);
            media.stop();

        }
    });

}
}

Upvotes: 0

Views: 1393

Answers (2)

kaveh
kaveh

Reputation: 11

Play and Stop all song for all rows.

The Point is implement MediaPlayer in the loop of if or any loop you have:

if(playandstop==true){
mp=MediaPlayer.create(MainActivity.this, resourceIIIDD);
mp.start();
playandstop=false;
}else{
    mp.stop();
    playandstop=true;
}

Upvotes: 1

Hartok
Hartok

Reputation: 2137

Try this code:

public class Main extends Activity {

    protected MediaPlayer mMediaPlayer;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mMediaPlayer = MediaPlayer.create(Main.this, R.raw.audio);

        Button myButtonOne = (Button) findViewById(R.id.btn_audio);
        myButtonOne.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                mMediaPlayer.prepare();
                mMediaPlayer.start();
            }
        });
        //this is to stop the audio flow
        Button myButtonTwo = (Button) findViewById(R.id.btn_stop);
        myButtonTwo.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                if(mMediaPlayer.isPlaying())
                    mMediaPlayer.stop();
            }
        });

    }
}

Upvotes: 1

Related Questions