Android物联网应用程序开发-项目七 媒体动画的实现-任务1:声音警报功能的实现_第1页
Android物联网应用程序开发-项目七 媒体动画的实现-任务1:声音警报功能的实现_第2页
Android物联网应用程序开发-项目七 媒体动画的实现-任务1:声音警报功能的实现_第3页
Android物联网应用程序开发-项目七 媒体动画的实现-任务1:声音警报功能的实现_第4页
Android物联网应用程序开发-项目七 媒体动画的实现-任务1:声音警报功能的实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android物联网应用程序开发资源转化系统教材辽宁轻工职业学院辽宁轻工职业学院任务实现知识准备任务目标目录

项目7媒体动画的实现辽宁轻工职业学院任务1声音警报功能的实现项目目标辽宁轻工职业学院辽宁轻工职业学院在Android系统中,多媒体开发包含播放音频、视频、震动等,也可以调用系统陀螺仪等功能。在智慧城市项目开发中,智能终端需要多媒体表现信息的功能,如:风扇转动、打开门、二维码扫描、震动报警等。辽宁轻工职业学院【任务目标】1.理解Android多媒体开发技术

2.掌握使用Android手机播放音乐辽宁轻工职业学院【目标任务】1.创建大棚界面,实时读取传感器上温湿度、光照强度、一氧化碳值,界面显示如下:

辽宁轻工职业学院【目标任务】

2.创建Android温度监控设置界面,在主界面中点击设置显示出此界面,如果主界面中读取到传感器的值超出本页面中设置的范围报警音乐响起。界面显示如下。1.多媒体开发详解辽宁轻工职业学院【知识准备】

Android系统能够录制、播放各种不同形式的本地和流式多媒体文件。Android的多媒体系统为Android设备多媒体的开发和应用提供了非常好的平台。(1)Android多媒体系统架构Android的多媒体框架涉及到应用层、JAVA框架、C语言Native框架、硬件抽象层(驱动层)等环节。下面是Android的多媒体系统框架层次图。1.多媒体开发详解辽宁轻工职业学院【知识准备】

Android多媒体系统框架层次图1.多媒体开发详解辽宁轻工职业学院【知识准备】

从图中可以看出,Android多媒体系统架构又分为四层结构,分别是 Java应用组件层 Java应用程序框架层

系统运行库C语言Native层 Linux内核驱动层下面按照从上到下的顺序分别介绍1.多媒体开发详解辽宁轻工职业学院【知识准备】

1)Java应用组件层

Android平台提供了三个不同的多媒体功能。①Camera:Android框架包含了对各种摄像机及其功能的在Android设备上的支持,它可以用户在其应用程序中捕获的照片和录像。②MediaRecorder:Android的MediaRecorder包含了Audio和video的记录功能。③MediaPlayer:Android的MediaPlayer包含了Audio和video的播放功能。1.多媒体开发详解辽宁轻工职业学院【知识准备】

2)Java应用程序框架层Android平台提供了四个不同的Java组件编程接口:Camera、MediaRecorder、MediaPlayer和Surface。这四个编程接口,几乎可以实现Android系统所有多媒体功能。①Android.Hardware.Camera:该Java类提供了对摄像机操作的编程接口。②Android.Media.MediaRecorder:该Java类提供了在Android的界面上,Audio和Video两个应用程序都是调用MediaRecorder实现的。③Android.Media.MediaPlayer:该Java类提供了在Android的界面上播放Audio和Video两个应用程序的编程接口。④Android.View.Surface:被screencompositor管理的rawbuffer句柄。1.多媒体开发详解辽宁轻工职业学院【知识准备】

3)系统运行库Native层

Android系统运行Native库层主要分为Camera硬件库、PacketVideo框架、ALSAAudio和Surface库三部分:

Camera硬件库:提供了操作底层Camera硬件的C语言库。②PacketVideo框架库:多媒体库,基于PacketVideoOpenCore;支持多种常用的音频、视频格式录制和回放,编码格式包括MPEG4、MP3、H264、AAC、ARM。1.多媒体开发详解辽宁轻工职业学院【知识准备】

③ALSAAudio:又名高级Linux声音体系(AdvancedLinuxSoundArchitecture)。是Linux内核中,为声卡提供的驱动组件,以替代原先的OSS(开放声音系统)。一部分的目的是支持声卡的自动配置,以及完美的处理系统中的多个声音设备,这些目的大多都已达到。另一个声音框架JACK使用ALSA提供低延迟的专业级音频编辑和混音能力。④Android.View.Surface:执行多个应用程序时候,负责管理显示与存取操作间的互动,另外也负责2D绘图与3D绘图进行显示合成。

4)Linux内核驱动层该层提供了对硬件驱动的支持,包括摄像机、硬件编解码、音频/视频驱动等。1.多媒体开发详解辽宁轻工职业学院【知识准备】

(2)Android多媒体系统功能多媒体主要包括两方面的内容:音频视频的输入输出、编解码环节。其中,输入输出环节由其他方面的硬件抽象层实现,中间处理环节主要由PacketVideo实现,可以使用硬件加速。总的来说,Android的多媒体系统通过其开放平台,以强大的函数库支持,其功能包括如下内容:音频播放、视频播放、摄像功能、音频录制、视频录制。1.多媒体开发详解辽宁轻工职业学院【知识准备】

(3)OpenCore简介OpenCore是Android多媒体系统的核心。与Android的其它程序库相比,OpenCore是一个基于C++代码实现的多媒体库,它定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。它主要包含了两大方面的内容:①PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能;②PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的以及静态图像捕获功能;③PVPlayer和PVAuthor以SDK的形式提供给开发者,可以在这个SDK之上构建多种应用程序和服务。1.多媒体开发详解辽宁轻工职业学院【知识准备】

(4)OpenMAX简介OpenMax是一个多媒体应用程序的框架标准。其中,OpenMaxIL(集成层)技术规格定义了媒体组件接口,以便在嵌入式器件的流媒体框架中快速集成加速编解码器。OpenMax分成三个层次,自上而下分别是,OpenMaxDL(开发层),OpenMaxIL(集成层)和OpenMaxAL(应用层)。三个层次的内容分别如下所示。1.多媒体开发详解辽宁轻工职业学院【知识准备】

第一层:OpenMaxDL(DevelopmentLayer,开发层)OpenMaxDL定义了一个API,它是音频、视频和图像功能的集合。硅供应商能够在一个新的处理器上实现并优化,然后编解码供应商使用它来编写更广泛的编解码器功能。它包括音频信号的处理功能,如FFT和filter,图像原始处理,如颜色空间转换、视频原始处理,以实现例如MPEG-4、H.264、MP3、AAC和JPEG等编解码器的优化。1.多媒体开发详解辽宁轻工职业学院【知识准备】第二层:OpenMaxIL(IntegrationLayer,集成层OpenMaxIL作为音频、视频和图像编解码器能与多媒体编解码器交互,并以统一的行为支持组件(例如,资源和皮肤)。这些编解码器或许是软硬件的混合体,对用户是透明的底层接口应用于嵌入式、移动设备。它提供了应用程序和媒体框架,透明的。S编解码器供应商必须写私有的或者封闭的接口,集成进移动设备。IL的主要目的是使用特征集合为编解码器提供一个系统抽象,为解决多个不同媒体系统之间轻便性的问题。1.多媒体开发详解辽宁轻工职业学院【知识准备】第三层:OpenMaxAL(ApplictionLayer,应用层)OpenMaxALAPI在应用程序和多媒体中间件之间提供了一个标准化接口,多媒体中间件提供服务以实现被期待的API功能。2.播放音乐辽宁轻工职业学院【知识准备】在Android平台下,要实现声音的播放是十分容易实现的,只要生成一个MediaPlayer对象,并调用它的相关方法,就能改变对声音播放进行控制。MediaPlayer对象有以下各种状态:2.播放音乐辽宁轻工职业学院【知识准备】

熟悉了MediaPlayer对象的各种状态后以及转换条件,就能很好的控制媒体播放。例如:播放res/raw文件夹中的歌曲十分简单,只需写如下代码:MediaPlayermp=MediaPlayer.create(context,R.raw.sound_file_1);mp.start();也可以指定音乐文件的位置来进行播放,例如,在sdcard根目录下有有一首歌曲:test.mp3。则可以这样播放:MediaPlayermp=newMediaPlayer();Stringsong=Environment.getExternalStorageDirectory().getAbsolutePath()+File.separator+"test.mp3";try{mp.setDataSource(song);mp.prepare();mp.start();}catch(Exceptione){e.printStackTrace();}2.播放音乐辽宁轻工职业学院【知识准备】

建议在播放音乐的时候把MediaPlayer放在Service中,因为如果放在Activity中会使得界面特别卡。而且音乐不能放到后台里播放,一旦退出Activity,音乐就会暂停播放。可以在Activity中布局相关的界面,例如按钮等。然后通过这个Activitiy来启动这个Service。要通过UI与Service交互,可以通过Intent对象传递消息。更复杂一些,要实现Service向Activity发送消息,并利用这些消息来更新UI,这可以用广播机制,例如告诉Activity是否正在播放,播放进度,当前播放歌曲条目等信息。辽宁轻工职业学院【任务实现】

1.创建一个Android工程,命名为AndroidDemo7_1。将项目2任务1与单元2任务8的界面设计文件导入到本项目中。如两图所示。

辽宁轻工职业学院【任务实现】

辽宁轻工职业学院【任务实现】

2.在项目AndroidDemo7_1下建立类文件BasePort.java,实现对Zigbee串口进行打开/关闭操作。3.新建FourInput类完成对温湿度、光照以及一氧化碳传感器的读值,并用Handler返回。4.新建SettingActivity.java类,获取我们导入的单元2任务1的布局文件,对温度控件进行初始化功能,本设置保存、清空、关闭三个按钮的单击事件5.在AndroidManifest.xml文件中声明此Activity。辽宁轻工职业学院【任务实现】

6.在MainActivity中在initView()方法中对控件进行初始化,在设置按钮的单击事件中完成页面的跳转并重写onActivityResult()方法完成页面回调,重写onDestroy()方法,对串口进行关闭。7.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论