第7章Android图形图像和多媒体开发全解.pptx
- 文档编号:11391473
- 上传时间:2023-02-28
- 格式:PPTX
- 页数:25
- 大小:576.40KB
第7章Android图形图像和多媒体开发全解.pptx
《第7章Android图形图像和多媒体开发全解.pptx》由会员分享,可在线阅读,更多相关《第7章Android图形图像和多媒体开发全解.pptx(25页珍藏版)》请在冰豆网上搜索。
浙江农林大学Android应应用程序开用程序开发发第第7章章Android图图形形图图像和多媒体开像和多媒体开发发5/31/20201目目录录浙江农林大学5/31/202027.1图图形形2.图图像像3.音音频频和和视频视频4.OpenGLES编编程程5.多媒体多媒体综综合合应应用用7.1图图形形浙江农林大学5/31/20203一个Android应用经常需要在界面上绘制各种图形,比如一个Andorid游戏会在运行时根据用户的输入状态生成各种各样的图片,使游戏变得丰富精彩,这就需要我们借助于Android图形系统的支持。
Android中,绘制图像最常用的是Paint类、Canvas类、Bitmap类和BitmapFactory类。
在现实生活中,我们要绘图需要画笔和画布,同样,Android绘图系统中Paint类就是画笔。
Canvas类就是画布,通过这两个类就可在Android系统中绘图。
Canvas画布简介浙江农林大学JAVA语言在Swing中绘图的思路是开发一个自定义类,该类继承JPanel,并且重写JPanel的paint(Graphicsg)方法即可。
Android的绘图思路与此十分类似,要在Android中绘图,需要首先要铺好画布,也就是创建一个继承自View类的视图,并且在该类中重写它的onDraw(Canvascanvas)方法,然后在显示绘图的Activity中添加该视图。
Canvas常用绘制方法Canvas提供的绘图方法,都有一个Paint类型的参数,Paint是Android在绘图操作中十分重要的一个API,Paint表示画布Canvas上的画笔,Paint类主要用于设置绘制风格,包括画笔颜色、画笔笔触粗细、填充风格等。
Paint类提供了许多设计画笔的常用方法。
浙江农林大学Canvas绘制的辅助类1、Path类2、Rect类浙江农林大学7.2图图像像浙江农林大学5/31/20207上一节介绍的Android图形绘制都是在程序运行时实时绘制上去的,而绘制上去的图案都是一些较为规则的形状,如果希望绘制上去的是一张已经制作好的图片,就需要使用Android绘制图像的知识。
这一节我们将学习Android系统绘制图像中较为常用的Drawable类和Bitmap类。
Drawable和ShapDrawable通用绘图类Drawable对象是一种资源对象,当我们为Android程序添加一个Drawable资源后,AndroidSDK会为这份资源在R.java清单中创建一个ID或者称之为索引,索引名称一般为:
R.drawable.file_name。
浙江农林大学Bitmap和BitmapFactory图像类Bitmap类代表位图,BitmapDrawable里封装的图片就是一个Bitmap对象。
把一个Bitmap对象包装成BitmapDrawable对象,需调用BitmapDrawable的构造器。
需要获取BitmapDrawable所包装的Bitmap对象,则可调用BitmapDrawable的getBitmap()方法。
浙江农林大学7.3音音频频和和视频视频浙江农林大学多媒体功能一直受到用户群体的关注,大多用户已经开始习惯于使用智能手机来听音乐,看视频。
AndroidSDK提供了简单的API来播放音频、视频,从而让大部分的Android应用程序开发者无需为音频和视频的一些底层操作而担忧。
Android提供了常见音频、视频的编码、解码机制,Android支持的音频格式较多,常见的有MP3、WAV和3GP等,支持的视频格式常见的有MP4和3GP等。
start():
开始播放或者恢复播放。
stop():
停止播放。
pause():
暂停播放。
浙江农林大学MediaPlayer播放音频装载音频文件的方法通常有两种重载形式,这两种方法都是MediaPlayer提供的静态方法浙江农林大学staticMediaPlayercreate(Contextcontext,Uriuri):
从指定URI在装载音频文件,并创建一个对应的MediaPlayer对象。
staticMediaPlayercreate(Contextcontext,intresid):
从resid资源ID对应的资源文件中装载音频文件,并创建一个对应的MediaPlayer对象。
此方法一般用于装载本地音频。
voidsetDataSource(Stringpath):
指定装载path路径所代表的文件。
voidsetDataSource(FileDescriptorfd,longoffset,longlength):
指定装载fd所代表的文件中从offset开始、长度为length的文件内容。
voidsetDataSource(FileDescriptorfd):
指定装载fd所代表的的文件。
voidsetDataSource(Contextcontext,Uriuri):
指定装载URI代表的文件。
浙江农林大学setOnCompletionListener(MediaPlayer.OnCompletioListenerlistener):
设置MediaPlayer在播放完成后触发的事件监听器。
setonerrorListener(MediaPlayer.onerrorListenerlistener):
设置MediaPlayer在播放过程中发生错误而触发的事件监听器。
setOnPreparedListener(MediaPlayer.OnPrepareListenerlistener):
设置MediaPlayer调用prepare()方法后触发的事件监听器。
setonseekCompleteListener(MediaPlayer.onseekCompleteListenerlistener):
当MediaPlyaer调用seek()方法后触发的事件监听器。
浙江农林大学MediaRecorder录音浙江农林大学1、在界面布局文件中定义VideoView组件,或在代码中创建VideoView组件。
2、调用VideoView的两个方法来加载指定视频。
setVideoPath(Stringpath):
加载path文件所代表的视频。
setVideoURI(Uriuri):
加载uri所对应的视频。
3、调用ViedoView的start()、stop()、pause()方法来控制视频播放。
浙江农林大学VideoView播放视频7.4OpenGLES编编程程浙江农林大学本章前面两节介绍了Android系统的图形、图像处理,通过这两节的学习,读者完全可以开发出处理二维图形的应用,或2D游戏。
经常玩游戏的读者可能会发现,市场上的游戏已经渐渐得从2D游戏过渡到了3D游戏,甚至已经慢慢地占领了手机平台。
Android系统内置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图形通常是由一些小的基本元素(顶点,边,面,多边形)构成,每个基本元素都可以单独来操作。
1Vertex(顶点)2Edge(边)3Face(面)4Polygon(多边形)5Render(渲染)浙江农林大学3D空间中绘图浙江农林大学浙江农林大学1、Flatcoloring(单色)2Smoothcoloring(平滑颜色过渡)颜色浙江农林大学7.5多媒体多媒体综综合合应应用用Android音乐播放器浙江农林大学浙江农林大学5/31/202025
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 图形图像 多媒体 开发