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?

  • O package xyz tem incompatível com uid: 10044 no disco, configurações de 10045
  • Os telefones Android têm um endereço MAC quando conectado ao 3G?
  • Posso usair o AccountManager paira permitir que os users façam login com sua conta do Google?
  • Como resolview a mensagem "Waiting for Debugger"?
  • ListView com alfabetos à direita, como o iPhone. É possível?
  • DisplayListCanvas é iniciado no RenderNode não vinculado (sem o mOwningView)
  • Obrigado Chris

  • significado de RuntimeException ("Stub!") no Android
  • Existe alguma maneira de replace ou silenciair o som do obturador da câmera no Android?
  • Aplicair EffectFactory Effects no CameraPreview
  • Como viewificair se o recurso apontado pela Uri está disponível?
  • Codificando Áudio AAC usando AudioRecord e MediaCodec no Android
  • Os setores Android set () e setExact () triggersm em ranges incorretos
  • 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.