SurfaceView和SurfaceHolder的基本用法

Posted 宝鼎波波

tags:

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

仅做记录使用,新手也可以来看看,怎么得到一个surfaceholder.

1.在xml文件中增加一个surfaceView控件.

          <SurfaceView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:id="@+id/surfaceView"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true" />

  

2. 在java代码中

private SurfaceHolder holder;
private SurfaceView sfv;

  

sfv=(SurfaceView)findViewById(R.id.surfaceView);
holder=sfv.getHolder();

  

holder.addCallback(new SurfaceHolder.Callback() {
            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                mMediaPlayer.setDisplay(holder);
            }

            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

            }

            @Override
            public void surfaceDestroyed(SurfaceHolder holder) {
                mMediaPlayer.release();
            }
 });

  

基本上就这样,百度去播放器sdk试过了,可以在安卓7.0中使用

以上是关于SurfaceView和SurfaceHolder的基本用法的主要内容,如果未能解决你的问题,请参考以下文章

Android笔记:SurfaceView与SurfaceHolder对象

尝试在空对象引用上调用虚拟方法 'android.view.SurfaceHolder android.view.SurfaceView.getHolder()'

Android图形系统之SurfaceSurfaceViewSurfaceHolder及SurfaceHolder.Callback之间的联系

android-tip-关于SurfaceView的使用

Android应用中如何创建并使用Surface

Android应用中如何创建并使用Surface