Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid mediaplayer with seekbar
    text
    copied!<p>How to use the seekbar in android mediplayer? I used the below code. seekbar working at a firstsong only then turn away from my application.</p> <pre><code>mp = MediaPlayer.create(player.this, (Integer) plsong.get(i)); mp.start(); mp.setOnCompletionListener(new OnCompletionListener() { public void onCompletion(MediaPlayer player) { mp.release(); sname.setText(" "); if (j &lt; (plsong.size() - 1)) { j++; mp = MediaPlayer.create(player.this,(Integer) plsong.get(j)); sname.setText((CharSequence) soname.get(j)); mp.start(); mp.setOnCompletionListener(this); } } }); mp.setOnPreparedListener(new OnPreparedListener() { public void onPrepared(MediaPlayer mpss) { // TODO Auto-generated method stub total = mp.getDuration(); System.out.println("total" + total); } }); seekbar.setProgress(0); seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar arg0) { // TODO Auto-generated method stub } public void onStartTrackingTouch(SeekBar arg0) { // TODO Auto-generated method stub } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // TODO Auto-generated method stub if (fromUser) { mp.seekTo(progress); seekBar.setProgress(progress); } } }); Thread currentThread = new Thread(MyCounter.this); currentThread.start(); mplay = (Button) findViewById(R.id.mplay); if(!mp.isPlaying()) { mplay.setText("Pause"); mplay.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub mp.start(); seekbar.setMax(total); } }); } else { mplay.setText("play"); mplay.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub mp.pause(); } }); } } public void run() { // TODO Auto-generated method stub try { while (mp != null) { int currentPosition = mp.getCurrentPosition(); Message msg = new Message(); msg.what = currentPosition; threadHandler.sendMessage(msg); } Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } private Handler threadHandler = new Handler() { public void handleMessage(Message msg) { seekbar.setProgress(msg.what); } }; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload