user3437250
user3437250

Reputation: 1

how to start a media player once stopped

I have added two buttons to my app, one to play and one to start. As soon as i start the app the songs starts playing automatically. when i press on stops it stops but when i press on play it doesnt starts again

To stop I have used mediaplayer.stop() which is working fine

To start I have used

mediaplayer.start() 

which is not working

According to flow diagram its given we need to use

prepare() 

and then

OnPreparedListener.onPrepared() 

and then

start()

I don't know how to use these functions. Please help me

Upvotes: 0

Views: 78

Answers (4)

Akshay
Akshay

Reputation: 6142

Try following code on Play Button

mp.reset();
mp.setDataSource(song path);
mp.prepare();
mp.start();

mp.setDataSource(song path); not necessary if you playing same sound again

Upvotes: 1

TheLittleNaruto
TheLittleNaruto

Reputation: 8473

Don't call stop() for stopping the mediaplayer use reset() instead. I dont have good reason for that. But, it'll work for sure.

 // for stopping it call below statement 
    if(mediaPlayer.isPlaying())
    mediaPlayer.reset();

    //for playing it again 
    mediaPlayer.prepare();
    mediaPlayer.start();

Upvotes: 3

kgandroid
kgandroid

Reputation: 5595

MediaPlayer mp;


@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.singleitemview);
        btnsound=(Button)findViewById(R.id.play_sound);
        btnstopsound=(Button)findViewById(R.id.stop_sound);
        mp=new MediaPlayer();

        btnsound.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub


                try {
                    mp.setDataSource(Sound);
                } catch (IllegalArgumentException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (SecurityException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                try {
                    mp.prepare();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                    mp.start();
                    mp.setLooping(true);


                }



        });

        btnstopsound.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                mp.setLooping(false);
                mp.stop();
            }
        });




    }

Upvotes: 0

InnocentKiller
InnocentKiller

Reputation: 5234

For starting media player again use following code.

if (mediaplayer != null) {
        mediaplayer.start();
        }

and one more thing, instead of using

mediaplayer.stop()

use

mediaplayer.pause();

so it will pause the current song instead of stop.

Just check the condition whether it is null or not.

Upvotes: 2

Related Questions