使用SurfaceView 播放视频

来源:互联网 发布:怎么看金十数据k 编辑:程序博客网 时间:2024/05/11 03:34
1.使用SurfaceView播放视频只需要主要下面几个地方就可以了

1. surfaceChanged也就是Suface是否创建成功
2. onPrepared 也就是MideoPlayer是否加载并准备完成
3. surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);        

        类型必须是SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS


原因是:

打完log才发现,进入主进程之后,surfaceview的创建优先级并不高,因此在mediaPlayer开始之后,surfaceView还没有创建出来,因此会出现有声音没图像的问题

 

一般有两种实现方法:

 

一是在通过holder增加callback,监听surfaceCreate事件,在监听到之后再开始mediaPlayer的相关操作,具体可以看videoView的实现方法

 

二是通过按钮来实现mediaPlayer,这样也可以保证再用户按到按钮之前,surfaceView已经被创建出来了



原创粉丝点击