第7章 Android图形图像和多媒体开发

上传人:我*** 文档编号:137677361 上传时间:2020-07-11 格式:PPT 页数:25 大小:2.08MB
返回 下载 相关 举报
第7章 Android图形图像和多媒体开发_第1页
第1页 / 共25页
第7章 Android图形图像和多媒体开发_第2页
第2页 / 共25页
第7章 Android图形图像和多媒体开发_第3页
第3页 / 共25页
第7章 Android图形图像和多媒体开发_第4页
第4页 / 共25页
第7章 Android图形图像和多媒体开发_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《第7章 Android图形图像和多媒体开发》由会员分享,可在线阅读,更多相关《第7章 Android图形图像和多媒体开发(25页珍藏版)》请在金锄头文库上搜索。

1、Android应用程序开发 第7章 Android图形图像和多媒体开发,2020/7/11,1,目录,2020/7/11,2,7.1图形 7.2图像 7.3音频和视频 7.4OpenGL ES编程 7.5多媒体综合应用,7.1 图形,2020/7/11,3,一个Android应用经常需要在界面上绘制各种图形,比如一个Andorid游戏会在运行时根据用户的输入状态生成各种各样的图片,使游戏变得丰富精彩,这就需要我们借助于Android图形系统的支持。 Android中,绘制图像最常用的是Paint类、Canvas类、Bitmap类和BitmapFactory类。在现实生活中,我们要绘图需要画笔和

2、画布,同样,Android绘图系统中Paint类就是画笔。Canvas类就是画布,通过这两个类就可在Android系统中绘图 。,Canvas画布简介,JAVA语言在Swing中绘图的思路是开发一个自定义类,该类继承JPanel,并且重写JPanel的paint(Graphics g)方法即可。Android的绘图思路与此十分类似,要在Android中绘图,需要首先要铺好画布,也就是创建一个继承自View类的视图,并且在该类中重写它的onDraw(Canvas canvas)方法,然后在显示绘图的Activity中添加该视图。,Canvas常用绘制方法,Canvas提供的绘图方法,都有一个Pa

3、int类型的参数,Paint是Android在绘图操作中十分重要的一个API,Paint表示画布Canvas上的画笔,Paint类主要用于设置绘制风格,包括画笔颜色、画笔笔触粗细、填充风格等。Paint类提供了许多设计画笔的常用方法。,Canvas绘制的辅助类,1、Path类 2、Rect类,7.2 图像,2020/7/11,7,上一节介绍的Android图形绘制都是在程序运行时实时绘制上去的,而绘制上去的图案都是一些较为规则的形状,如果希望绘制上去的是一张已经制作好的图片,就需要使用Android绘制图像的知识。这一节我们将学习Android系统绘制图像中较为常用的Drawable类和Bit

4、map类。,Drawable和ShapDrawable通用绘图类,Drawable对象是一种资源对象,当我们为Android程序添加一个Drawable资源后,Android SDK会为这份资源在R.java清单中创建一个ID或者称之为索引,索引名称一般为:R.drawable.file_name。,Bitmap和BitmapFactory图像类,Bitmap类代表位图,BitmapDrawable里封装的图片就是一个Bitmap对象。把一个Bitmap对象包装成BitmapDrawable对象,需调用BitmapDrawable的构造器。,需要获取BitmapDrawable所包装的Bitm

5、ap对象,则可调用BitmapDrawable的getBitmap()方法。,7.3 音频和视频,多媒体功能一直受到用户群体的关注,大多用户已经开始习惯于使用智能手机来听音乐,看视频。 Android SDK提供了简单的API来播放音频、视频,从而让大部分的Android应用程序开发者无需为音频和视频的一些底层操作而担忧。Android提供了常见音频、视频的编码、解码机制,Android支持的音频格式较多,常见的有MP3、WAV和3GP等,支持的视频格式常见的有MP4和3GP等。,start(): 开始播放或者恢复播放。 stop(): 停止播放。 pause(): 暂停播放。,Media P

6、layer播放音频,装载音频文件的方法通常有两种重载形式,这两种方法都是MediaPlayer提供的静态方法,static MediaPlayer create(Context context, Uri uri): 从指定URI在装载音频文件,并创建一个对应的MediaPlayer对象。 static MediaPlayer create(Context context, int resid): 从resid资源ID对应的资源文件中装载音频文件,并创建一个对应的MediaPlayer对象。此方法一般用于装载本地音频。,void setDataSource(String path): 指定装载p

7、ath路径所代表的文件。 void setDataSource(FileDescriptor fd, long offset, long length):指定装载fd所代表的文件中从offset开始、长度为length的文件内容。 void setDataSource(FileDescriptor fd): 指定装载fd所代表的的文件。 void setDataSource(Context context,Uri uri): 指定装载URI代表的文件。,setOnCompletionListener(MediaPlayer.OnCompletioListener listener): 设置Me

8、diaPlayer在播放完成后触发的事件监听器。 setOnErrorListener(MediaPlayer.OnErrorListener listener): 设置MediaPlayer在播放过程中发生错误而触发的事件监听器。 setOnPreparedListener(MediaPlayer.OnPrepareListener listener): 设置MediaPlayer调用prepare()方法后触发的事件监听器。 setOnSeekCompleteListener(MediaPlayer.OnSeekCompleteListener listener):当MediaPlyaer

9、调用seek()方法后触发的事件监听器。,Media Recorder录音,1、在界面布局文件中定义VideoView组件,或在代码中创建VideoView组件。 2、调用VideoView的两个方法来加载指定视频。 setVideoPath(String path):加载path文件所代表的视频。 setVideoURI(Uri uri): 加载uri所对应的视频。 3、调用ViedoView的start()、stop()、pause()方法来控制视频播放。,Video View播放视频,7.4 OpenGL ES编程,本章前面两节介绍了Android系统的图形、图像处理,通过这两节的学习,

10、读者完全可以开发出处理二维图形的应用,或2D游戏。经常玩游戏的读者可能会发现,市场上的游戏已经渐渐得从2D游戏过渡到了3D游戏,甚至已经慢慢地占领了手机平台。Android系统内置OpenGL ES(OpenGL for Embedded System), 支持3D应用的开发,也就是说开发者可以在Android平台上使用OpenGL ES API来开发3D应用。 。,OpenGL(全写Open Graphics Library 开放图形库)是一个跨编程语言、跨平台的编程接口的API,它用于三维图像(二维的亦可)。 OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。 Op

11、enGL提供了一个子集:OpenGL ES(OpenGL for Embedded System),用于解决在在如手机之类的小型设备上。 OpenGL ES是免授权费的、跨平台的、功能完善的2D和3D图形应用程序接口API,主要针对多种嵌入式系统专门设计包括控制台、移动电话、手持设备、家电设备和汽车。OpenGL ES 包含浮点运算和定点运算系统描述以及 EGL针对便携设备的本地视窗系统规范。,OpenGL ES简介,起到连接OpenGL ES与Android 的View层次结构之间的桥梁作用。 使得Open GL ES库适应于Anndroid系统的Activity生命周期。 使得选择合适的Frame buffer像素格式变得容易。 创建和管理单独绘图线程以达到平滑动画效果。 提供了方便使用的调试工具来跟踪OpenGL ES函数调用以帮助检查错误。,视图,一个3D图形通常是由一些小的基本元素(顶点,边,面,多边形)构成,每个基本元素都可以单独来操作。 1Vertex (顶点) 2Edge(边) 3Face (面) 4Polygon (多边形) 5Render (渲染),3D空间中绘图,1、Flat coloring(单色) 2Smooth coloring (平滑颜色过渡),颜色,7.5 多媒体综合应用,Android音乐播放器,2020/7/11,25,Thank you!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号