Hi friends,
I want to show MediaController for normal MediaPlayer class. I have
done like this:
I have put the MediaController in layout (here in case :
sdcard_media_view) and written the code like this.
Its just an audio player. Its working fine but Unable to remove the
prev,next buttons of the MediaController.
Can any one please help me.
public class AudioPlayerNew extends Activity implements
MediaPlayerControl
{
private static final String TAG = "MediaPlayerDemo";
MediaController mediaController;
MediaPlayer mMediaPlayer;
private static final String MEDIA = "media";
PowerManager powerMgr = null;
PowerManager.WakeLock wakeLock = null;
final String POWERTAG = "VideoViewTag";
boolean m_prgisShowing = false;
ProgressDialog mDialog2;
private String path = "/sdcard/Kaarulo Shikarukelle.mp3";
boolean isVideoFilePlayedProperly = true;
int percent = 0;
boolean playerState;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE); // Wont show
the title of the app on top of the device.
getWindow().setFlags
(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.sdcard_media_view);
mediaController = (MediaController) findViewById
(R.id.MediaController01);
mediaController.setAnchorView( findViewById
(R.layout.sdcard_media_view));
mediaController.setMediaPlayer(this);
mediaController.setEnabled(true);
mediaController.setPrevNextListeners(null, null);
powerMgr = (PowerManager)getSystemService
(Context.POWER_SERVICE);
wakeLock = powerMgr.newWakeLock
(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,POWERTAG );
wakeLock.setReferenceCounted(true);
wakeLock.acquire();
playAudio(path);
}
private void playAudio(String media)
{
try
{
mMediaPlayer = new MediaPlayer();
//mMediaPlayer.setDataSource(path);
mMediaPlayer.setDataSource(AudioPlayerNew.this,Uri.parse
(path));
mMediaPlayer.prepare();
showDialog();
mMediaPlayer.setOnPreparedListener(new
MediaPlayer.OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
dismissDialog();
mMediaPlayer.start();
mediaController.show();
}
});
mMediaPlayer.setOnCompletionListener(new
MediaPlayer.OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer mp) {
Log.i("VideoViewDemo ->","
onCompletion() calledooooochhhhhhhh");
setProgressBarIndeterminateVisibility(false);
finish();
}
});
mMediaPlayer.setOnErrorListener(new
MediaPlayer.OnErrorListener()
{
@Override
public boolean onError(MediaPlayer arg0, int
arg1, int arg2) {
isVideoFilePlayedProperly = false;
Log.i("VideoViewDemo ->"," onError()
calledooooochhhhhhhh");
Log.i("onERROR:","arg1:"+arg1);
Log.i("onERROR:","arg2:"+arg2);
return true;
}
});
mMediaPlayer.setOnBufferingUpdateListener(new
OnBufferingUpdateListener()
{
@Override
public void onBufferingUpdate(MediaPlayer arg0,
int arg1)
{
percent = arg1;
}
});
}
catch (Exception e)
{
Log.e(TAG, "error: " + e.getMessage(), e);
}
}
public void showDialog()
{
m_prgisShowing = true;
showDialog(1000);
}
public void dismissDialog()
{
if(m_prgisShowing)
{
Log.i("WEB_DEMO_VIEW","DISMISSING PROGRESSBAR!!!");
mDialog2.dismiss();
}
m_prgisShowing = false;
}
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case 1000:
{
mDialog2 = new ProgressDialog(this);
mDialog2.setMessage("buffering...");
mDialog2.setIndeterminate(true);
mDialog2.setCancelable(true);
Log.i("WEB_VIEW_DEMO","SHOWING PROGRESS
BAR!!!");
return mDialog2;
}
}
return null;
}
public void onConfigurationChanged(Configuration arg0)
{
super.onConfigurationChanged(arg0);
Log.i("VideoViewDemo","CONFIGURATION CHANGED!!!");
}
@Override
protected void onDestroy() {
super.onDestroy();
dismissDialog();
if(null != mMediaPlayer)
{
mMediaPlayer.release();
mMediaPlayer = null;
}
wakeLock.release();
}
@Override
public int getBufferPercentage() {
System.out.println("MediaController.getBufferPercentage()
called!!!");
return percent;
}
@Override
public int getCurrentPosition() {
System.out.println("MediaController.getCurrentPosition()
called!!!");
return mMediaPlayer.getCurrentPosition();
}
@Override
public int getDuration() {
System.out.println("MediaController.getDuration() called!!!");
return mMediaPlayer.getDuration();
}
@Override
public boolean isPlaying()
{
System.out.println("MediaController.isPlaying() called!!!");
return playerState;
}
@Override
public void pause()
{
System.out.println("MediaController.pause() called!!!");
if(null != mMediaPlayer)
{
mMediaPlayer.pause();
}
playerState = false;
}
@Override
public void seekTo(int pos)
{
System.out.println("MediaController.seekTo() called!!!");
if(mMediaPlayer != null)
{
mMediaPlayer.seekTo(pos);
}
}
@Override
public void start()
{
System.out.println("MediaController.start() called!!!");
if(null != mMediaPlayer )//&& !mMediaPlayer.isPlaying())
{
mMediaPlayer.start();
}
playerState = true;
}
}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---