android SurfaceView播放视频

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hubianyu/article/details/82382946
布局文件
<SurfaceView 
    android:id="@+id/surfaceview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    />

public class MainActivity extends Activity {

   private SurfaceView surfaceView;
   private MediaPlayer mediaPlayer;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        //获取资源ID
        surfaceView = (SurfaceView) findViewById(R.id.surfaceview);
        
        //加载视频
        mediaPlayer = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory()+"/love.mp4"));
        
        
        new Thread(){
              public void run() {
                 //得到SurfaceHolder
                 SurfaceHolder holder = surfaceView.getHolder();
                 //得到视图的状态
                 holder.addCallback(new Callback() {
                  //视图销毁
                  @Override
                  public void surfaceDestroyed(SurfaceHolder holder) {
                     // TODO Auto-generated method stub
                     
                  }
                  //视图创建完成
                  @Override
                  public void surfaceCreated(SurfaceHolder holder) {
                     // TODO Auto-generated method stub
                     //将寄存器设置给mediaPlayer
                     mediaPlayer.setDisplay(holder);
                     //开始播放
                     mediaPlayer.start();
                     
                  }
                  //视图改变
                  @Override
                  public void surfaceChanged(SurfaceHolder holder, int format, int width,
                        int height) {

              
                  }
               });
              };
           
        }.start();
        
        
        
        
    }
}

猜你喜欢

转载自blog.csdn.net/hubianyu/article/details/82382946