
视频播放器
文章平均质量分 92
JohanMan
这个作者很懒,什么都没留下…
展开
-
视频播放器开发 - SurfaceView
最近打算开发一个属于自己的视频播放器,上网查了很多资料,好像都有SurfaceView的身影。虽然之前自定义摄像机有用过它,但是也是看着别人怎么用,没怎么去详细了解它,觉得是时候注意它了(并没有打算从源码角度分析它)。View的更新先聊聊View的更新!想更新View,必须主动调用View的invalidate()或postInvalidate()方法,然后onDraw()方法才会执行...原创 2018-03-16 16:14:23 · 644 阅读 · 0 评论 -
视频播放器开发 - 基本原理
在做视频播放器之前,我们先了解一些基本定义。基本定义视频连续的图像变化每秒超过24帧画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。帧率指的是视频格式每秒钟播放的静态画面数量。典型的画面更新率由早期的每秒6或8张(frame per second,简称fps)至现今的每秒120张不等。编解码我们知道,其实...原创 2018-03-18 10:23:43 · 14620 阅读 · 0 评论 -
自定义Android视频播放器 - 切换横竖屏
前一篇自定义了SurfaceView,然后尝试横屏显示,虽然视频适配方面没有问题,但是没有占满整个屏幕。我分析了一下一般的视频播放器,发现:竖屏播放视频,播放器的宽度占满手机屏幕的宽度,播放器的高度根据视频大小决定,有可能超过屏幕的高度。横屏播放视频,播放器的高度占满手机屏幕的宽度,播放器的宽度根据视频大小决定,有可能超过屏幕的高度。根据以上两点,对自定义SurfaceView测...原创 2018-03-22 13:49:44 · 4035 阅读 · 1 评论 -
视频播放器开发 - MediaPlayer
简介MediaPlayer是Android提供媒体文件的组件,播放视频时一般配合SurfaceView使用。状态机我们使用MediaPlayer前,先了解一下MediaPlayer的状态机,如图:播放流程我们从状态机图可以看出,使用MediaPlayer播放视频流程如下:初始化MediaPlayer,监听各种事件。常见的事件说明:OnPreparedLis...原创 2018-03-20 10:09:19 · 1051 阅读 · 0 评论 -
视频播放器开发 - VideoView
刚开始,还以为VideoView是Android提供我们另一种播放媒体的控件,看了源码之后,原来是MediaPlayer+SurfaceView的封装,只是方便我们使用而已,当然也有好处。既然是封装,那我们来看看VideoView是怎么使用MediaPlayer+SurfaceView的。源码分析源码虽不多,但是只分析有用的代码,直接上码:public class VideoView ...原创 2018-03-20 16:08:03 · 885 阅读 · 0 评论 -
自定义Android视频播放器 - 自定义SurfaceView
Android开发视频播放器,一般都是使用MediaPlayer+SurfaceView来实现,VideoView也是使用了MediaPlayer+SurfaceView方式(不信看源码)。所以,我打算使用MediaPlayer+SurfaceView封装自己的视频播放库。本章打算用之前的例子:视频播放器开发 - MediaPlayer在例子中,使用的是原生的SurfaceView,现将S...原创 2018-03-21 10:59:06 · 3762 阅读 · 3 评论