您的位置:首页 > 其它

使用SurfaceView 播放视频

2012-03-20 11:43 246 查看
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已经被创建出来了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  callback