android 视频播放器的制作

2012.12.27

关于视频播放器,android里有两种方法,一个是用videoview,另一种是mediaplayer+surfaceview的方式。 其实videoview是系统封装好的mediaplayer+surfaceview。

我采用了mediaplayer+surfaceview。但碰到了第一个问题:

SurfaceView播放视频只有声音没有图像。

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

 

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

 

一般有两种实现方法:

 

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

 

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

你可能感兴趣的:(android,视频播放器)