第7章Android图形图像和多媒体开发全解PPT推荐.pptx
《第7章Android图形图像和多媒体开发全解PPT推荐.pptx》由会员分享,可在线阅读,更多相关《第7章Android图形图像和多媒体开发全解PPT推荐.pptx(25页珍藏版)》请在冰点文库上搜索。
,Canvas常用绘制方法,Canvas提供的绘图方法,都有一个Paint类型的参数,Paint是Android在绘图操作中十分重要的一个API,Paint表示画布Canvas上的画笔,Paint类主要用于设置绘制风格,包括画笔颜色、画笔笔触粗细、填充风格等。
Paint类提供了许多设计画笔的常用方法。
浙江农林大学,Canvas绘制的辅助类,1、Path类2、Rect类,浙江农林大学,7.2图像,浙江农林大学,5/31/2020,7,上一节介绍的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/2020,25,