java - Implementing Music Across Activities -



java - Implementing Music Across Activities -

problem: when utilize home button close app music continues playing. manually close app killing activity, music stops... few seconds , starts 1 time again (and time restart in order turn off).

musicservice.class:

package com.myapp.app; import android.app.service; import android.content.intent; import android.media.mediaplayer; import android.media.mediaplayer.onerrorlistener; import android.os.binder; import android.os.ibinder; import android.widget.toast; public class musicservice extends service implements mediaplayer.onerrorlistener { private final ibinder mbinder = new servicebinder(); mediaplayer mplayer; private int length = 0; public musicservice() { } public class servicebinder extends binder { musicservice getservice() { homecoming musicservice.this; } } @override public ibinder onbind(intent arg0) { homecoming mbinder; } @override public void oncreate() { super.oncreate(); mplayer = mediaplayer.create(this, r.raw.test_music); mplayer.setonerrorlistener(this); if (mplayer != null) { mplayer.setlooping(true); mplayer.setvolume(100, 100); } mplayer.setonerrorlistener(new onerrorlistener() { public boolean onerror(mediaplayer mp, int what, int extra) { onerror(mplayer, what, extra); homecoming true; } }); } @override public int onstartcommand(intent intent, int flags, int startid) { mplayer.start(); homecoming start_sticky; } public void pausemusic() { if (mplayer.isplaying()) { mplayer.pause(); length = mplayer.getcurrentposition(); } } public void resumemusic() { if (mplayer.isplaying() == false) { mplayer.seekto(length); mplayer.start(); } } public void stopmusic() { mplayer.stop(); mplayer.release(); mplayer = null; } @override public void ondestroy() { super.ondestroy(); if (mplayer != null) { seek { mplayer.stop(); mplayer.release(); } { mplayer = null; } } } public boolean onerror(mediaplayer mp, int what, int extra) { toast.maketext(this, "music player failed", toast.length_short).show(); if (mplayer != null) { seek { mplayer.stop(); mplayer.release(); } { mplayer = null; } } homecoming false; } }

mainpage.class:

package com.myapp.app; import android.content.intent; import android.content.serviceconnection; import android.os.bundle; import android.os.ibinder; import android.view.view; public class mainpage extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main_page); intent music = new intent(); music.setclass(this, musicservice.class); startservice(music); } @override protected void ondestroy() { super.ondestroy(); mserv.stopmusic(); } @override protected void onpause() { super.onpause(); mserv.pausemusic(); } @override protected void onstop() { super.onstop(); mserv.stopmusic(); } private boolean misbound = false; private musicservice mserv; private serviceconnection scon = new serviceconnection() { public void onserviceconnected(componentname name, ibinder binder) { mserv = ((musicservice.servicebinder) binder).getservice(); } public void onservicedisconnected(componentname name) { mserv = null; } }; void dobindservice() { bindservice(new intent(this, musicservice.class), scon, context.bind_auto_create); misbound = true; } void dounbindservice() { if (misbound) { unbindservice(scon); misbound = false; } } }

(note: have taken excerpts app, may have forgotten imports in code, imports correctly included in app.)

please reddish : oncreate, onpause , onresume

java android eclipse adt music

Comments

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Is there a way to convert an HTML page styled with Bootstrap CSS into email-compatible html? -