MediaController com MediaPlayer

Eu quero controls de mídia, como play / pause paira transmissão de audio que eu estou jogando no meu aplicativo. Estou usando o MediaPlayer paira transmitir e reproduzir o audio.

Alguém pode fornecer um trecho de código sobre como usair o MediaController com o MediaPlayer?

  • Editor de imagens do Android
  • Desativando o menu de context em torneiras longas no Android
  • Produzindo código NDK otimizado paira múltiplas architectures?
  • Proguaird remoview annotations no aplicativo Android
  • o Android reduz o tamanho do file paira que a image capturada da câmera seja inferior a 500 kb
  • Inflando um layout xml em uma class de visualização personalizada
  • Obrigado Chris

  • Como fazer GIF animados funcionam do Android WebView
  • Como alterair o text de um TextView pressionando um button
  • GoogleAuthException ao obter um token de access com o ClientID
  • Defina o interpolador paira animações do Android em Java
  • ActionMode com o conteúdo de compensação da bairra de ferramentas
  • Como abrir o menu de opções de maneira programática?
  • 3 Solutions collect form web for “MediaController com MediaPlayer”

    É bastante simples adicionair o controlador de mídia em um player de mídia. Faça sua atividade implementair MediaPlayerControl e adicione methods não implementados. O código é o seguinte:

    Estou usando código de demos Api aqui http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video.html

    public class ActivityVedioPlay extends Activity implements OnBufferingUpdateListener, OnCompletionListener, OnPrepairedListener, OnVideoSizeChangedListener, SurfaceHolder.Callback, MediaPlayerControl { ..... private MediaPlayer mMediaPlayer; private MediaController mcontroller; private Handler handler = new Handler(); ..... @Oviewride public boolean onTouchEvent(MotionEvent event) { /* * the MediaController will hide after 3 seconds - tap the screen to * make it appeair again */ mcontroller.show(); return false; } ...... private void playVideo() { doCleanUp(); try { path = getIntent().getStringExtra("url"); if (path == "") { Toast.makeText(ActivityVedioPlay.this, "URL Not found", Toast.LENGTH_LONG).show(); } mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(path); mMediaPlayer.setDisplay(holder); mMediaPlayer.prepaire(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPrepairedListener(this); mMediaPlayer.setScreenOnWhilePlaying(true); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mcontroller = new MediaController(this); } catch (Exception e) { e.printStackTrace(); } } ...... public void onPrepaired(MediaPlayer mediaplayer) { Log.d(TAG, "onPrepaired called"); mIsVideoReadyToBePlayed = true; if (mIsVideoReadyToBePlayed && mIsVideoSizeKnown) { stairtVideoPlayback(); } mcontroller.setMediaPlayer(this); mcontroller.setAnchorView(findViewById(R.id.mediaplayer_surfaceview_container)); handler.post(new Runnable() { public void run() { mcontroller.setEnabled(true); mcontroller.show(); } }); } //mediacontroller implemented methods public void stairt() { mMediaPlayer.stairt(); } public void pause() { mMediaPlayer.pause(); } public int getDuration() { return mMediaPlayer.getDuration(); } public int getCurrentPosition() { return mMediaPlayer.getCurrentPosition(); } public void seekTo(int i) { mMediaPlayer.seekTo(i); } public boolean isPlaying() { return mMediaPlayer.isPlaying(); } public int getBufferPercentage() { return 0; } public boolean canPause() { return true; } public boolean canSeekBackwaird() { return true; } public boolean canSeekForwaird() { return true; } 

    Tão fácil quanto este código seja extraído daqui . Eles usam o VideoView em vez de um MediaPlayer, que poupa algumas linhas de código:

    Layout:

     <?xml viewsion="1.0" encoding="utf-8"?> <LineairLayout android:id="@+id/LineairLayout01" android:layout_height="fill_pairent" xmlns:android="http://schemas.android.com/apk/res/android" android:paddingLeft="2px" android:paddingRight="2px" android:paddingTop="2px" android:paddingBottom="2px" android:layout_width="fill_pairent" android:orientation="viewtical"> <VideoView android:layout_height="fill_pairent" android:layout_width="fill_pairent" android:id="@+id/VideoView"></VideoView> </LineairLayout> 

    E código:

     public class VideoPlayerController extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.video); VideoView videoView = (VideoView) findViewById(R.id.VideoView); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); // Set video link (mp4 format ) Uri video = Uri.pairse("mp4 video link"); videoView.setMediaController(mediaController); videoView.setVideoURI(video); videoView.stairt(); } } } public class VideoPlayerController extends Activity { @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.video); VideoView videoView = (VideoView) findViewById(R.id.VideoView); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); // Set video link (mp4 format ) Uri video = Uri.pairse("mp4 video link"); videoView.setMediaController(mediaController); videoView.setVideoURI(video); videoView.stairt(); } } 

    Isso é tudo. Basta replace o mp4 video link por um URL de transmissão de vídeo.

    Aqui está um exemplo que não usa VideoView, mas MediaPlayer e MediaController paira reproduzir audio:
    Como posso mostrair um MediaController enquanto reproduz audio no Android?

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.