版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Android应用程序开发第7章Android图形图像和多媒体开发,2020/7/4,1,目录,2020/7/4,2,7.1图形7.2图像7.3音频和视频7.4OpenGLES编程7.5多媒体综合应用,7.1图形,2020/7/4,3,一个Android应用经常需要在界面上绘制各种图形,比如一个Andorid游戏会在运行时根据用户的输入状态生成各种各样的图片,使游戏变得丰富精彩,这就需要我们借助于Android图形系统的支持。Android中,绘制图像最常用的是Paint类、Canvas类、Bitmap类和BitmapFactory类。在现实生活中,我们要绘图需要画笔和画布,同样,Androi
2、d绘图系统中Paint类就是画笔。Canvas类就是画布,通过这两个类就可在Android系统中绘图。,Canvas画布简介,JAVA语言在Swing中绘图的思路是开发一个自定义类,该类继承JPanel,并且重写JPanel的paint(Graphicsg)方法即可。Android的绘图思路与此十分类似,要在Android中绘图,需要首先要铺好画布,也就是创建一个继承自View类的视图,并且在该类中重写它的onDraw(Canvascanvas)方法,然后在显示绘图的Activity中添加该视图。,Canvas常用绘制方法,Canvas提供的绘图方法,都有一个Paint类型的参数,Paint是
3、Android在绘图操作中十分重要的一个API,Paint表示画布Canvas上的画笔,Paint类主要用于设置绘制风格,包括画笔颜色、画笔笔触粗细、填充风格等。Paint类提供了许多设计画笔的常用方法。,Canvas绘制的辅助类,1、Path类2、Rect类,7.2图像,2020/7/4,7,上一节介绍的Android图形绘制都是在程序运行时实时绘制上去的,而绘制上去的图案都是一些较为规则的形状,如果希望绘制上去的是一张已经制作好的图片,就需要使用Android绘制图像的知识。这一节我们将学习Android系统绘制图像中较为常用的Drawable类和Bitmap类。,Drawable和Sha
4、pDrawable通用绘图类,Drawable对象是一种资源对象,当我们为Android程序添加一个Drawable资源后,AndroidSDK会为这份资源在R.java清单中创建一个ID或者称之为索引,索引名称一般为:R.drawable.file_name。,Bitmap和BitmapFactory图像类,Bitmap类代表位图,BitmapDrawable里封装的图片就是一个Bitmap对象。把一个Bitmap对象包装成BitmapDrawable对象,需调用BitmapDrawable的构造器。,需要获取BitmapDrawable所包装的Bitmap对象,则可调用BitmapDraw
5、able的getBitmap()方法。,7.3音频和视频,多媒体功能一直受到用户群体的关注,大多用户已经开始习惯于使用智能手机来听音乐,看视频。AndroidSDK提供了简单的API来播放音频、视频,从而让大部分的Android应用程序开发者无需为音频和视频的一些底层操作而担忧。Android提供了常见音频、视频的编码、解码机制,Android支持的音频格式较多,常见的有MP3、WAV和3GP等,支持的视频格式常见的有MP4和3GP等。,start():开始播放或者恢复播放。stop():停止播放。pause():暂停播放。,MediaPlayer播放音频,装载音频文件的方法通常有两种重载形式
6、,这两种方法都是MediaPlayer提供的静态方法,staticMediaPlayercreate(Contextcontext,Uriuri):从指定URI在装载音频文件,并创建一个对应的MediaPlayer对象。staticMediaPlayercreate(Contextcontext,intresid):从resid资源ID对应的资源文件中装载音频文件,并创建一个对应的MediaPlayer对象。此方法一般用于装载本地音频。,voidsetDataSource(Stringpath):指定装载path路径所代表的文件。voidsetDataSource(FileDescriptor
7、fd,longoffset,longlength):指定装载fd所代表的文件中从offset开始、长度为length的文件内容。voidsetDataSource(FileDescriptorfd):指定装载fd所代表的的文件。voidsetDataSource(Contextcontext,Uriuri):指定装载URI代表的文件。,setOnCompletionListener(MediaPlayer.OnCompletioListenerlistener):设置MediaPlayer在播放完成后触发的事件监听器。setOnErrorListener(MediaPlayer.OnError
8、Listenerlistener):设置MediaPlayer在播放过程中发生错误而触发的事件监听器。setOnPreparedListener(MediaPlayer.OnPrepareListenerlistener):设置MediaPlayer调用prepare()方法后触发的事件监听器。setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListenerlistener):当MediaPlyaer调用seek()方法后触发的事件监听器。,MediaRecorder录音,1、在界面布局文件中定义VideoView组件,或在代码中创建Vi
9、deoView组件。2、调用VideoView的两个方法来加载指定视频。setVideoPath(Stringpath):加载path文件所代表的视频。setVideoURI(Uriuri):加载uri所对应的视频。3、调用ViedoView的start()、stop()、pause()方法来控制视频播放。,VideoView播放视频,7.4OpenGLES编程,本章前面两节介绍了Android系统的图形、图像处理,通过这两节的学习,读者完全可以开发出处理二维图形的应用,或2D游戏。经常玩游戏的读者可能会发现,市场上的游戏已经渐渐得从2D游戏过渡到了3D游戏,甚至已经慢慢地占领了手机平台。An
10、droid系统内置OpenGLES(OpenGLforEmbeddedSystem),支持3D应用的开发,也就是说开发者可以在Android平台上使用OpenGLESAPI来开发3D应用。,OpenGL(全写OpenGraphicsLibrary开放图形库)是一个跨编程语言、跨平台的编程接口的API,它用于三维图像(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。OpenGL提供了一个子集:OpenGLES(OpenGLforEmbeddedSystem),用于解决在在如手机之类的小型设备上。OpenGLES是免授权费的、跨平台的、功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计包括控制台、移动电话、手持设备、家电设备和汽车。OpenGLES包含浮点运算和定点运算系统描述以及EGL针对便携设备的本地视窗系统规范。,OpenGLES简介,起到连接OpenGLES与Android的View层次结构之间的桥梁作用。使得OpenGLES库适应于Anndroid系统的Activity生命周期。使得选择合适的Framebuffer像素格式变得容易。创建和管理单独绘图线程以达到平滑动画效果。提供了方便使用的调试工具来跟踪OpenGLES函数调用以帮助检查错误。,视图,一个3D图形通常是由一些小的基本元素(顶点,边,面,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于深度学习的幼儿语言表达能力提升策略
- 税务稽查2026年税务咨询合同协议
- 行政执法案卷归档制度
- 节日馈赠制度
- 2026年动物监督执法考试试题及答案
- 2026中国科学院上海生命科学研究院分子细胞卓越中心惠利健组招聘科研助理备考题库带答案详解(模拟题)
- 中建安装2026届春季校园招聘备考题库(培优b卷)附答案详解
- 2026河南平顶山发展投资控股集团校园招聘备考题库(达标题)附答案详解
- 2026广西百色市右江区百城社区卫生服务中心招聘公益性岗位2人备考题库含答案详解ab卷
- 2026四川广安市华蓥市人力资源和社会保障局全市各见习基地招聘第三批就业见习人员25人备考题库及参考答案详解(模拟题)
- 高速五轴翻板铣加工中心 精度检验
- 安全教育课件 一年级
- (2025年)新全国保安员资格考试题库及答案
- 【MOOC】《大学物理的数学基础》(西南交通大学)章节期末慕课答案
- 抢救落水救人方法
- 国企素质测评考试题及答案
- 矿山车队维修管理办法
- 南京六校联合体2026届高三8月份学情调研考试 地理试卷(含答案)
- (标准)茶楼股份转让合同协议书
- 医院drg付费培训课件
- 中建土木-基础设施工程安全生产管理标准化图册(试行)
评论
0/150
提交评论