区别与联系 View: 显示视图,内置画布,提供了图形绘制函数.触屏事件.按键事件函数等,必须在UI主线程内更新画面,速度较慢: SurfaceView: 基于view视图进行拓展的视图类,更适合2D游戏的开发,是view的子类,使用了双缓冲机制,即:允许在子线程中更新画面,所以刷新界面速度比view快. GLSurfaceView: 基于SurfaceView视图再次进行拓展的视图类,在SurfaceView基础上封装了EGL环境管理以及render线程,专用于3D游戏开发的视图.是Surfa…
1.相关概念 不用画布,直接在窗口上进行绘图叫做无缓冲绘图. 用了一个画布,将所有内容都先画到画布上,在整体绘制到窗口上,就该叫做单缓冲绘图, 那个画布就是一个缓冲区.用了两个画布,一个进行临时的绘图,一个进行最终的绘图,这样就叫做双缓冲绘图. 2.Surface     Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compositor,Android中的Surface就是…
Android游戏当中主要的除了控制类外就是显示类View.SurfaceView是从View基类中派生出来的显示类.android游戏开发中常用的三种视图是:view.SurfaceView和GLSurfaceView. View:显示视图,内置画布,提供图形绘制函数.触屏事件.按键事件函数等:必须在UI主线程内更新画面,速度较慢. SurfaceView:基于view视图进行拓展的视图类,更适合2D游戏的开发:是view的子类,类似使用双缓机制,在新的线程中更新画面所以刷新界面速度比view…
韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 表面视图 SurfaceView 是 视图 的子类, 刷新界面速度比 视图 块, 因为它在新的线程中 更新画面.  采用类似 双缓存机制. GLSurfaceView 是 表面视图SurfaceView 的子类, openGL 专用的. 视图 类 是 必须在 主线程中 更新画面. Surface 的意思 是  表面:表层:外观…
在开发游戏开发中,android相应的提供了几个重要的模块: 1.显示界面的视图:  Android 提供 View 和 SurfaceView 2.控制游戏整体结构: android 提供 Activity 3.逻辑控制类:专门用于处理游戏的逻辑计算 4.处理游戏界面与用户交互事件 : 利用 View 类提供的 onKeyDown onKeyUp onTounchEvent等方法 我们这里简单熟悉一下如何在视图上画东西. 1.View 类: android.view.View  View 是A…
1.MainActivity.java import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.SurfaceHolder; import android.view.SurfaceView; /** * MediaCodec SurfaceHolder Example * @author taehwan * */ public class M…
对于基于摄像头的Android应用,实时取景是一个基本前提,通过前置或后置摄像头持续获取捕获到的内容,可以进一步做处理(人脸检测.美颜.滤镜等). 所谓实时取景,简单说就是调用android的摄像头,把摄像头捕获的内容显示在apk的界面上.只要应用不关闭,相机就持续捕获,apk上看到的就是实时的取景了. 采用SurfaceView和Camera来做这件事. 是SDK自带的SurfaceView类而不是实现它的子类:在布局XML文件中使用SurfaceView而不是FrameLayout.因此,代…
前言 说到android的多媒体,一把辛酸一把泪,当初听说会多媒体的比较牛掰,公司也有需求,于是乎我也积极的加入研究android多媒体的行列,记得以前刚接触的时候,最开始还是比较头大的,主要是但是很多细节比较零散凌乱,无法形成规律模式和合理的解决方案,但是慢慢也虽然接触了久了,很多事情也就明白过来了,接触android三年多四年了,慢慢的也有些学习和做事的体会,多媒体的接触过程更加的强化我的学习规律,因为最近公司事情比较少,基本没有加班,晚上就写写自己的博客,分享下以前学习多媒体过程,下面我也…
前段时间项目中需要在 Android 中播放视频.流媒体.查看监控,就研究了一下 Android 多媒体解决方案. 查找了一下,大致有如下几种: Android MediaPlayer FFmpeg Google ExoPlayer Vitamio VLC Android MediaPlayer 是 Android 内置的播放器,支持格式很有限:3gp mp4,且不支持流媒体. FFmpeg 是一套功能强大的跨平台多媒体解决方案,需要用NDK编译,支持海量格式.流媒体. Google ExoPl…
学习内容: 1.掌握Surface的使用... 2.Android中如何实现视频播放... 1.SurfaceView类的使用   在Android中,一般播放音频时我们可以去使用Android提供的MediaPlayer类,但是想要播放视频仅仅依靠MediaPlayer类是远远不够的...这里还需要使用到一个SurfaceView这个组件来完成..为什么?因为像视频和SD图形等都需要迅速的更新...如果这个更新实在主线程内去完成,那么显然是不合理的,因为一个视频的播放,系统会首先确定视频的格式…