java - Stop and play mp3 in mediaplayer -
i have placed 2 mp3 songs in raw folder. have used 2 buttons play them. calling below:
public class songs extends activity implements onclicklistener { private button mbtn1, mbtn2, mbtn3, mbtn4, mbtn5, mbtn6, mbtn7, mbtn8, mbtn9, mbtn10; mediaplayer mp; boolean playing = false; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.songs); mbtn1 = (button) findviewbyid(r.id.button1); mbtn2 = (button) findviewbyid(r.id.button2); mbtn1.setonclicklistener(this); mbtn2.setonclicklistener(this); } @override public void onclick(view v) { // todo auto-generated method stub else if (v.getid() == mbtn1.getid()) { if (playing) { mp.stop(); mp.pause(); playing = false; } else { mediaplayer mp = mediaplayer.create(songs.this, r.raw.chahun); mp.start(); playing = true; // mp.release(); } } else if (v.getid() == mbtn2.getid()) { if (playing) { mp.stop(); mp.pause(); playing = false; } else { mediaplayer mp = mediaplayer.create(songs.this, r.raw.sunn); mp.start(); playing = true; // mp.release(); } } } }
but think giving error while stopping song. i'm getting error following:
05-21 11:49:23.006: e/androidruntime(15436): fatal exception: main 05-21 11:49:23.006: e/androidruntime(15436): java.lang.nullpointerexception 05-21 11:49:23.006: e/androidruntime(15436): @ com.qwinix.lucia.songs.onclick(songs.java:99) 05-21 11:49:23.006: e/androidruntime(15436): @ android.view.view.performclick(view.java:3517) 05-21 11:49:23.006: e/androidruntime(15436): @ android.view.view$performclick.run(view.java:14155) 05-21 11:49:23.006: e/androidruntime(15436): @ android.os.handler.handlecallback(handler.java:605) 05-21 11:49:23.006: e/androidruntime(15436): @ android.os.handler.dispatchmessage(handler.java:92) 05-21 11:49:23.006: e/androidruntime(15436): @ android.os.looper.loop(looper.java:154) 05-21 11:49:23.006: e/androidruntime(15436): @ android.app.activitythread.main(activitythread.java:4624) 05-21 11:49:23.006: e/androidruntime(15436): @ java.lang.reflect.method.invokenative(native method) 05-21 11:49:23.006: e/androidruntime(15436): @ java.lang.reflect.method.invoke(method.java:511) 05-21 11:49:23.006: e/androidruntime(15436): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:809) 05-21 11:49:23.006: e/androidruntime(15436): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:576) 05-21 11:49:23.006: e/androidruntime(15436): @ dalvik.system.nativestart.main(native method)
can please solve this?
you have'nt read documentation that's why facing exception
if (playing) { if (mp != null) { mp.pause(); } }
if media playing . first of apply check null condition don't call stop() method make pause calling pause().
reason of exception
before calling stop()
method have pause media first.
refer official docs
public void stop ()
stops playback after playback has been stopped or paused.
it saying has been paused means either have pause play calling pause()
or gets stopped after completion.
http://developer.android.com/reference/android/media/mediaplayer.html#stop%28%29
sugesstion -- 1 of goods method debugging follow getting exception started finding possible causes exception wether have done things correct or not. if not getting solved use read documents of methods use of exception generated.
Comments
Post a Comment