java - Kill Overlapping Threads from Intent in Android mp3 app -


i having problem (i think) overlapping threads playing music in android mp3 player. have class songlist.java lists , plays music when item clicked , artistlist.java intents songlist play songs specific artist. 2 or more songs play @ same time if not in same activity.

how tell playsong method stop threads recent one?

you should have 1 single thread or service doing playback. songlist , artistlist should not start new service. rather should have playbackservice can pass songlist or artistlist parameter / argument. if doing so, should have 1 single thread doing playback , never run kind of trouble.

have here: http://developer.android.com/guide/topics/media/mediaplayer.html#mpandservices

they implement service uses build in mediaplayer audio playback. next can bind musicplaybackservice activity.

here introduction: http://developer.android.com/guide/components/bound-services.html

you can specify methods activity can invoke on service of binder. provide method playsongs(songlist songs) or playartists(artistlist list) invoked activity (i.e. clicking on button). since service runs playback (by using mediaplayer) service responsible threading , playback. if call playsongs(songlist songs) of service, service should stop mediaplayer , restart mediaplayer desired music file (provided songlist). approach musicplaybackservice manages playback , guarantees 1 music file played simultaneously.