Android Progressbar not displaying -
in android application want stream url , play. want show progressbar when play button clicked , show pause button. used progressbar because indicate user happening there there delay while playing in mediaplayer .but problem play button displayed 1 seconds small fraction of second progrressbar dispalyed , @ same time changes pause button.how can show progressbar when user clicked paly button.code given below
holder.videoplayvoicebtn.setonclicklistener(new onclicklistener() { public void onclick(final view v) { // videoinfo element = (videoinfo) videos.get(position); // element.setplaybutton((button) v); // element.setplaying(true); linearlayout relativelayout = (linearlayout) v.getparent(); relativelayout layout = (relativelayout) relativelayout .getparent(); final progressbar bar = (progressbar) layout .findviewbyid(r.id.progressbarvoice); bar.setvisibility(view.visible); seekbar mseekbar = (seekbar) relativelayout .findviewwithtag(position); final seekbar seekbar = mseekbar; final button playbtn = (button) relativelayout .findviewwithtag(position + "b"); if (utilities.message_player != null) { if (utilities.message_player.isplaying()) { bar.setvisibility(view.gone); utilities.message_player.pause(); holder.username.setkeepscreenon(false); videos.get(position).setcurrentduration( utilities.message_player .getcurrentposition()); playbtn.setbackgroundresource(r.drawable.play_button_style); pause_check = true; } else if (!utilities.message_player.isplaying()) { bar.setvisibility(view.visible); playbtn.setvisibility(view.gone); utilities.message_player.seekto(videos.get( position).getcurrentduration()); playbtnprev .setbackgroundresource(r.drawable.pause_btn_style); // playvoice(videos.get(position) .getvoice_url(), videos.get(position) .getduration(), seekbar, duration, playbtn, position, v, 0, bar); // utilities.message_player.start(); pause_check = true; } else { bar.setvisibility(view.gone); playbtn.setvisibility(view.visible); utilities.message_player.stop(); holder.username.setkeepscreenon(false); // utilities.message_player.reset(); utilities.message_player = new mediaplayer(); pause_check = false; } playbtnprev .setbackgroundresource(r.drawable.play_button_style); isplaycheck = true; } else { // bar.setvisibility(view.visible); // playbtn.setvisibility(view.gone); playbtnprev .setbackgroundresource(r.drawable.pause_btn_style); isplaycheck = false; } } if (pause_check == true) { } else { dummy_voice_button = playbtn; bar.setvisibility(view.visible); playbtn.setvisibility(view.gone); if (utilities.message_player == null) utilities.message_player = new mediaplayer(); playvoice(videos.get(position).getvoice_url(), videos.get(position).getduration(), seekbar, duration, playbtn, position, v, 1, bar); prevposition = position; } } }); private void playvoice(string url, final int voiceduration, final seekbar mseekbar, final textview durationtv, final button playbtn, final int postoplay, final view view, int valint, final progressbar bar) { if (utilities.message_player != null) { utilities.message_player .setoncompletionlistener(new oncompletionlistener() { public void oncompletion(mediaplayer mp) { log.e("play voice", "setoncompletionlistener"); if (play_task != null) { prevposition = -1; playbtn.setbackgroundresource(r.drawable.profile_play_button_style); durationtv.settext("" + videos.get(postoplay).getduration()); linearlayout relativelayout = (linearlayout) view .getparent(); if (((seekbar) relativelayout .findviewwithtag(postoplay)) != null) ((seekbar) relativelayout .findviewwithtag(postoplay)) .setprogress(0); } } }); utilities.message_player .setonpreparedlistener(new onpreparedlistener() { public void onprepared(mediaplayer mp) { playbtn.setvisibility(view.visible); playbtn.setbackgroundresource(r.drawable.pause_btn_style); bar.setvisibility(view.gone); } }); try { log.e("play voice", "message_player.isnotplaying()"); utilities.message_player.reset(); utilities.message_player.setdatasource(url); utilities.message_player.prepare(); utilities.message_player.start(); holder.username.setkeepscreenon(true); } catch (illegalargumentexception 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(); } } } }
Comments
Post a Comment