Home > Mobile >  MediaPlayer with seekbar
MediaPlayer with seekbar

Time:09-17

Small white sprout new distress
Don't know why hasn't the seekbar along with the music playing mobile,
Have been in situ,
Suspect the problem in this sentence,
May be because the int the progress has been 0

Seekbar. SetOnSeekBarChangeListener (new seekbar. OnSeekBarChangeListener () {
@ Override
Public void onProgressChanged (SeekBar SeekBar, int progress, Boolean fromUser) {
I=progress;
If (fromUser) {
Mediaplayer. SeekTo (progress);
}
}
@ Override
Public void onStartTrackingTouch (SeekBar SeekBar) {
}
@ Override
Public void onStopTrackingTouch (SeekBar SeekBar) {
}
});





 package com. Example. User. Lab2_leemingchak; 

The import android. Media. AudioManager;
The import android. Media. MediaPlayer;
The import android.net.Uri;
The import android. OS. Handler;
The import android. Support. V7. App. AppCompatActivity;
The import android. OS. Bundle;
The import android. View. The view;
The import android. Widget. The Button;
The import android. Widget. ImageButton;
The import android. Widget. ProgressBar;
The import android. Widget. SeekBar;

Public class MainActivity extends AppCompatActivity implements MediaPlayer OnPreparedListener,
MediaPlayer. OnCompletionListener {
Private MediaPlayer MediaPlayer.
Private SeekBar SeekBar.
Private Runnable Runnable.
Private Handler handble;
Private int I;
ImageButton playbtn stopbtn;

@ Override
Protected void onCreate (Bundle savedInstanceState) {
Super. OnCreate (savedInstanceState);
setContentView(R.layout.activity_main);

//the initialize button the UIs
Playbtn=(ImageButton) the findViewById (R.i d.p layBtn);
Stopbtn=(ImageButton) the findViewById (R.i d.s topBtn);
Seekbar=(seekbar) the findViewById (R.i d.s eekBar);
//convert the String url to Uri format. Using the parse ()
Uri path=Uri. Parse (" android resource://"+//set the music file in res/raw as default
GetPackageName () + "/" + R.r aw. Enm);
//disable the Play and Stop buttons using the setEnabled ()
Playbtn. SetEnabled (false);
Stopbtn. SetEnabled (false);
//new a MediaPlayer object
Mediaplayer=new mediaplayer ();
//set OnPreparedListener () and OnCompletionListener () to the MediaPlayer object
Mediaplayer. SetOnPreparedListener (this);
Mediaplayer. SetOnCompletionListener (this);
Seekbar. SetOnSeekBarChangeListener (new seekbar. OnSeekBarChangeListener () {
@ Override
Public void onProgressChanged (SeekBar SeekBar, int progress, Boolean fromUser) {
I=progress;
If (fromUser) {
Mediaplayer. SeekTo (progress);
}
}
@ Override
Public void onStartTrackingTouch (SeekBar SeekBar) {
}
@ Override
Public void onStopTrackingTouch (SeekBar SeekBar) {
}
});

//prepare the and download the audio file, the onPrepared () method will be run when ready to play
Try {
Mediaplayer. Reset ();
Mediaplayer. SetDataSource (this, path);
Mediaplayer. SetAudioStreamType (AudioManager. STREAM_MUSIC);//in streaming mode
Mediaplayer. PrepareAsync ();
} the catch (Exception e) {
e.printStackTrace();
}
}
//the when Play/Pause button is clicked
//check been the MediaPlayer is playing or not and start playing the if not, otherwise, the pause playback
Public void onPlayUrlClick View (View) {
{if (mediaplayer. IsPlaying ())
Mediaplayer. Pause ();
Playbtn. SetEnabled (true);
Stopbtn. SetEnabled (true);
Playbtn. SetImageResource (R.d rawable. Play);
} else {
Mediaplayer. Start ();
Playbtn. SetEnabled (true);
Stopbtn. SetEnabled (true);
Playbtn. SetImageResource (R.d rawable. Puase);
}
}
//when the Stop button is clicked
Public void onStopClick View (View) {
Mediaplayer. SeekTo (0);
Playbtn. SetEnabled (true);
Stopbtn. SetEnabled (true);
}
@ Override
//when the audio file is ready to play
//enable the Play button and disable the Stop button
Public void onPrepared (MediaPlayer MediaPlayer) {
Seekbar. SetMax (mediaplayer. GetDuration ());
ChangeSeekbar ();
Playbtn. SetEnabled (true);
Stopbtn. SetEnabled (false);
}

Private void changeSeekbar () {
Seekbar. SetProgress (mediaplayer. GetCurrentPosition ());
{if (mediaplayer. IsPlaying ())
Handble=new Handler ();
A runnable=new runnable () {
@ Override
Public void the run () {
ChangeSeekbar ();
}
};
Handble. PostDelayed (runnable, 1000);
}
};
@ Override
//when the audio file plays to the end
Public void onCompletion (MediaPlayer MediaPlayer) {
Mediaplayer. SeekTo (0);
}

Public void onbackClick View (View) {
I=I - 5;
Mediaplayer. SeekTo (I);
}
Public void onskipClick View (View) {
I=I + 5;
Mediaplayer. SeekTo (I);
}
}

CodePudding user response:

SOS ah..
Seekbar progress bar will not move

CodePudding user response:

FromUser right valuenullnullnullnullnullnullnullnullnullnullnullnull
  • Related