【7.6】关于SurfaceView播放视频只有声音没有图像的有关问题

【7.6】关于SurfaceView播放视频只有声音没有图像的问题

关于这个问题,网上也有很多人问了这个问题,但只有自己碰到了才知道原因

 

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

 

一般有两种实现方法:

 

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

 

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