有关SurfaceView相关的内容今天Android123继续延用系统的示例类VideoView来让大家深入了解Android平台的图形绘制基础类的实现原理。大家可能会发现VideoView类的控制方面无法改变,我们可以通过重构VideoView类来实现更个性化的播放器。 public class VideoView extends SurfaceView implements MediaPlayerControl { private String TAG = "VideoView"; // settable by the client private Uri mUri; private int mDuration; // all possible internal states private static final int STATE_ERROR = -1; private static final int STATE_IDLE = 0; private static final int STATE_PREPARING = 1; private […]
VideoView
Android视频播放类VideoView解析 Android开发技术
目前Android平台作为Google自己封装设计,提供的Java Dalvik在算法处理效率无法与C/C++或ARM ASM相提并论在描述或移植一些本地语言的解码器上显得无能为力,目前整个平台仅支持MP4的H.264、3GP和WMV视频的解析,快速的制作一个系统播放器可以通过使用Android内置的VideoView类来处理,因为JNI本地调用的so库都必须独立高权限安装,我们不再赘述C层的实现方法,因为调用的都是接口原理均为一样。 VideoView使用很简单,在过去的几个版本中有了简单修改,我们可以在实例化这个类时传递一个本地的路径比如\sdcard\android123.mp4、或一个InputSream对象,当然对流媒体的Uri支持也是没有问题的。 这里我们调用的例子直接构造,动态设置文件路径,有关详细的方法可以查看SDK,下面是设置路径的,基本上设计一个播放器核心代码在10左右,目前真个解码器平台尚未完善,比如Flash等FLV解码器的支持还需要固件的升级,这里可以使用Android视频转换王来解决G1上的播放问题。 VideoView vv; vv = new VideoView(this); vv.setVideoPath(filePath); //绝对路径 w.setVideoURI(uri); //传递一个uri

