SurfaceView+MediaPlayer播放视频

Posted qkeyar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SurfaceView+MediaPlayer播放视频相关的知识,希望对你有一定的参考价值。

  SurfaceView拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行行绘制。又由于不占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不会导致用户输入得不到及时响应。

android 三种播放视频的方式:http://www.cnblogs.com/eustoma/p/4479363.html

Android之SurfaceView实现视频播放:http://www.cnblogs.com/devinzhang/archive/2012/02/03/2337576.html

结合MediaPlayer类的简单播放器

public class SurfaceMediaPlayer extends Activity {
  SurfaceView surfaceView;
  MediaPlayer mediaPlayer;


  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_surface_media_player);
    mediaPlayer=new MediaPlayer();
    surfaceView=(SurfaceView) this.findViewById(R.id.surfaceView1);
    surfaceView.getHolder().addCallback(new Callback() {
      @Override
      public void surfaceDestroyed(SurfaceHolder holder) { }


      @Override
      public void surfaceCreated(SurfaceHolder holder) {
        play();
      }


      @Override
      public void surfaceChanged(SurfaceHolder h, int format, int w, int h) { }
    });
  }


  private void play() {
    try {
      String path = Environment.getExternalStorageDirectory().getPath()+"/Movies/run_to_you.3gp";
      mediaPlayer.setDataSource(path);
      mediaPlayer.setDisplay(surfaceView.getHolder());  //视频画面输出到SurfaceView
      mediaPlayer.prepare();
      mediaPlayer.start();
    } catch (Exception e) { ……}
  }

}

以上是关于SurfaceView+MediaPlayer播放视频的主要内容,如果未能解决你的问题,请参考以下文章

Android SurfaceView + MediaPlayer实现分段视频无缝播放

Android MediaPlayer+SurfaceView播放视频(附Demo)

SurfaceView+MediaPlayer实现视频播放

Android 使用MediaPlayer和SurfaceView播放视频

SurfaceViewVideoList 列表视频(SurfaceView+Mediaplayer实现播放功能 本地)

MediaPlayer音乐播放器上一首下一首播放停止自动下一首进度条