Looks like a bug in MediaController when you're using it the way you are instead of using the show/hide mechanism. Can you use show/hide in your app instead? BTW, you really should remove those "// TODO Auto-generated method stub" once you've filled in the stub :)
On Sun, Jun 21, 2009 at 11:37 PM, manoj <[email protected]> wrote: > > Hi, > > I want to enable the MediaController for the MediaPlayer. > > For this I have written the code like this: > > public class AudioPlayerNew extends Activity implements > > MediaPlayerControl,MediaPlayer.OnPreparedListener,MediaPlayer.OnBufferingUpdateListener > { > MediaController mediaController; > MediaPlayer mMediaPlayer; > private String path = "/sdcard/Kaarulo Shikarukelle.mp3"; > int percent = 1; > boolean playerState = true; > > public void onCreate(Bundle icicle) > { > super.onCreate(icicle); > setContentView(R.layout.sdcard_media_view); > mediaController = (MediaController) findViewById > (R.id.MediaController01); > playAudio(path); > mediaController.setAnchorView( findViewById > (R.layout.sdcard_media_view)); > mediaController.setMediaPlayer(this); > mediaController.bringToFront(); > mediaController.setEnabled(true); > } > > private void playAudio(String media) > { > try > { > mMediaPlayer = new MediaPlayer(); > mMediaPlayer.setDataSource(path); > mMediaPlayer.prepare(); > > mMediaPlayer.setOnSeekCompleteListener(this); > > mMediaPlayer.setOnPreparedListener(this); > > mMediaPlayer.setOnCompletionListener(this); > > mMediaPlayer.setOnErrorListener(this); > } > catch (Exception e) > { > Log.e(TAG, "error: " + e.getMessage(), e); > } > > } > > @Override > protected void onDestroy() { > super.onDestroy(); > // TODO Auto-generated method stub > dismissDialog(); > if(null != mMediaPlayer) > { > mMediaPlayer.release(); > mMediaPlayer = null; > } > > > wakeLock.release(); > } > > @Override > public int getBufferPercentage() { > System.out.println("MediaController.getBufferPercentage() > called!!!"); > // TODO Auto-generated method stub > return percent; > } > > @Override > public int getCurrentPosition() { > System.out.println("MediaController.getCurrentPosition() > called!!!"); > // TODO Auto-generated method stub > return mMediaPlayer.getCurrentPosition(); > } > > @Override > public int getDuration() { > System.out.println("MediaController.getDuration() > called!!!"); > // TODO Auto-generated method stub > return mMediaPlayer.getDuration(); > } > > @Override > public boolean isPlaying() > { > //System.out.println("MediaController.isPlaying() > called!!!"); > // TODO Auto-generated method stub > return playerState; > } > > @Override > public void pause() > { > //System.out.println("MediaController.pause() called!!!"); > // TODO Auto-generated method stub > if(null != mMediaPlayer) > { > mMediaPlayer.pause(); > } > playerState = false; > } > > @Override > public void seekTo(int pos) > { > // TODO Auto-generated method stub > //System.out.println("MediaController.seekTo() called!!!"); > if(mMediaPlayer != null) > { > mMediaPlayer.seekTo(pos); > } > } > > @Override > public void start() > { > //System.out.println("MediaController.start() called!!!"); > // TODO Auto-generated method stub > if(null != mMediaPlayer )//&& !mMediaPlayer.isPlaying()) > { > mMediaPlayer.start(); > } > playerState = true; > } > > > > @Override > public void onPrepared(MediaPlayer arg0) { > // TODO Auto-generated method stub > dismissDialog(); > mMediaPlayer.start(); > } > > > > @Override > public void onCompletion(MediaPlayer mp) { > // TODO Auto-generated method stub > Log.i("VideoViewDemo ->"," onCompletion() > calledooooochhhhhhhh"); > setProgressBarIndeterminateVisibility(false); > finish(); > } > > > > @Override > public void onBufferingUpdate(MediaPlayer mp, int arg1) { > > System.out.println("Buffer percentage :"+arg1); > // TODO Auto-generated method stub > percent = arg1; > } > > > > @Override > public boolean onError(MediaPlayer mp, int what, int extra) { > isVideoFilePlayedProperly = false; > > // TODO Auto-generated method stub > Log.i("VideoViewDemo ->"," onError() calledooooochhhhhhhh"); > Log.i("onERROR:","arg1:"+what); > Log.i("onERROR:","arg2:"+extra); > return true; > } > > } > > I added MediPlayerController to the layout and able to view the same. > > And I am able to play/pause through these controls. > > But the app is not updating the buffer (seek bar movement). > > When only I move the trackball, then I am able to see the track bar > increment/decrement according to the trackbar. > > Now I have two problems: > > 1. seek bar is not incrementing according to the mediaplayer. > > 2. I am not able to exit the app when I press the 'Back' key, only > when the song completes then the app got exited. > > I am playing mp3 songs from sdcard. > > Can anyone please help me. > > Thanks, > Manoj. > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

