media player - Android Listview. How to play all music and select song -



media player - Android Listview. How to play all music and select song -

this code loads music in listview, , play song select, need play music in list, when while or for, cant select song while playing.

import android.app.activity; import android.content.context; import android.database.cursor; import android.media.mediaplayer; import android.os.bundle; import android.provider.mediastore; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.baseadapter; import android.widget.listview; import android.widget.mediacontroller; import android.widget.mediacontroller.mediaplayercontrol; import android.widget.textview; import android.widget.adapterview.onitemclicklistener; public class mainactivity extends activity { listview musiclist; cursor musiccursor; int music_column_index; int count; mediaplayer mmediaplayer; mediacontroller mc; /** called when activity first created. */ @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); init_phone_music_grid(); } @suppresswarnings("deprecation") private void init_phone_music_grid() { system.gc(); string[] proj = { mediastore.audio.media._id, mediastore.audio.media.data, mediastore.audio.media.display_name, mediastore.video.media.size }; musiccursor = managedquery(mediastore.audio.media.external_content_uri, proj, null, null, null); count = musiccursor.getcount(); musiclist = (listview) findviewbyid(r.id.listview1); musiclist.setadapter(new musicadapter(getapplicationcontext())); musiclist.setonitemclicklistener(musicgridlistener); mmediaplayer = new mediaplayer(); } private onitemclicklistener musicgridlistener = new onitemclicklistener() { public void onitemclick(adapterview parent, view v, int position, long id) { system.gc(); music_column_index = musiccursor .getcolumnindexorthrow(mediastore.audio.media.data); musiccursor.movetoposition(position); string filename = musiccursor.getstring(music_column_index); seek { if (mmediaplayer.isplaying()) { mmediaplayer.reset(); } mmediaplayer.setdatasource(filename); mmediaplayer.prepare(); mmediaplayer.start(); } grab (exception e) { } // } }; private onitemclicklistener musicgridlistener1 = new onitemclicklistener() { public void onitemclick(adapterview parent, view v, int position, long id) { system.gc(); music_column_index = musiccursor .getcolumnindexorthrow(mediastore.audio.media.data); musiccursor.movetoposition(position); string filename = musiccursor.getstring(music_column_index); seek { if (mmediaplayer.isplaying()) { mmediaplayer.reset(); } mmediaplayer.setdatasource(filename); mmediaplayer.prepare(); mmediaplayer.start(); } grab (exception e) { } try{ while(mmediaplayer.isplaying()){} } grab (exception e) { //handle exception e.printstacktrace(); } while(musiccursor.getposition()!= musiccursor.getcount()){ mmediaplayer.reset(); musiccursor.movetonext(); filename = musiccursor.getstring(music_column_index); seek { if (mmediaplayer.isplaying()) { mmediaplayer.reset(); } mmediaplayer.setdatasource(filename); mmediaplayer.prepare(); mmediaplayer.start(); } grab (exception e) { } while(mmediaplayer.isplaying()){} } // } }; public class musicadapter extends baseadapter { private context mcontext; public musicadapter(context c) { mcontext = c; } public int getcount() { homecoming count; } public object getitem(int position) { homecoming position; } public long getitemid(int position) { homecoming position; } public view getview(int position, view convertview, viewgroup parent) { system.gc(); string id = null; textview tv; if (convertview == null) { tv = new textview(mcontext.getapplicationcontext()); } else{ tv = (textview) convertview; } musiccursor.movetoposition(position); music_column_index = musiccursor .getcolumnindexorthrow(mediastore.audio.media.display_name); id = musiccursor.getstring(music_column_index); music_column_index = musiccursor.getcolumnindexorthrow(mediastore.audio.media.size); id += " size(kb):" + musiccursor.getstring(music_column_index); tv.settext(id); homecoming tv; } } }

rather looping through data, should build playlist queue. can populate , depopulate necessary, , don't need worry info source changing.

android media-player

Comments

Popular posts from this blog

web services - java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer -

Accessing MATLAB's unicode strings from C -

javascript - mongodb won't find my schema method in nested container -