【Android】实验7 BindService模拟通信 截止提交日期2016.5.3

实验7 BindService模拟通信

【目的】

实现启动端和BindService之间的双向通信

【要求】

1)   实现从启动端传递一个数据至BindService端;

2)   实现使用BindService服务播放项目源文件中的音乐;

3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小。

4)   实现在启动端通过“暂停”按钮控制音频暂停播放。

【原理】

  1. 参考教案,理解BindService和启动端的通信原理
  2. AudioManager的理解

AudioManager类位于android.Media 包中,该类提供访问控制音量和铃声模式的操作。

通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。

AudioManager audiomanage = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);

audiomanager就是我们定义的控制系统声音的对象。

几个比较常用到的方法:

1)        adjustVolume(int direction, int flags):用来控制手机音量大小,当传入的第一个参数为AudioManager.ADJUST_LOWER 时,可将音量调小一个单位,传入AudioManager.ADJUST_RAISE时,则可以将音量调大一个单位。

2)        adjustStreamVolume(intstreamType, int direction, intflags):(以步长)调节手机音量大小

参数1:声音类型,可取为STREAM_VOICE_CALL(通话)、STREAM_SYSTEM(系统声音)、STREAM_RING(铃声)、STREAM_MUSIC(音乐)、STREAM_ALARM(闹铃声)

参数2:调整音量的方向,可取ADJUST_LOWER(降低)、ADJUST_RAISE(升高)、ADJUST_SAME
参数3:可选的标志位

3)        setStreamVolume(intstreamType, int index, intflags):直接设置音量大小

4)        getStreamVolume(intstreamType):取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。

5)        setStreamMute(intstreamType, boolean state):设置静音

 

部分参考代码:

//音量控制,初始化定义

AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

以一步步长控制音量的增减,并弹出系统默认音量控制条:

//降低音量,调出系统音量控制

if(flag ==0){

mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,

AudioManager.FX_FOCUS_NAVIGATION_UP);

}

//增加音量,调出系统音量控制

elseif(flag ==1){

mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,

AudioManager.FX_FOCUS_NAVIGATION_UP);

}

其他常用方法:

android audioManager获取音量:

先获取AudioManager实例,
AudioManagermAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

//通话音量

int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL );

int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL );

//系统音量

int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM );

current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM );

//铃声音量

max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING);

current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING );

//音乐音量

max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC );

current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC );

//提示声音音量

max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM );

current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );

//最大音量

intmaxVolume =mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

//当前音量

intcurrentVolume =mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

//直接控制音量的多少:


if(isSilent){

mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,0,0);

}else{

mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC,tempVolume,0);//tempVolume:音量绝对值

}

 

实验报告要求

1)     详细写出自己所做实验的步骤和内容;

2)     详细记录实验过程中发现的问题以及解决问题的方法;

3)     给出程序运行过程中各个页面的截图;

4)     提交文件包括:实验报告、源代码、可运行的安装程序,所有文件打包压缩;

5)     压缩包命名格式:专业+学号+姓名+实验7.rar

时间: 2024-10-13 20:13:34

【Android】实验7 BindService模拟通信 截止提交日期2016.5.3的相关文章

【安卓】实验7 BindService模拟通信

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016.4.30 实验项目名称 实验7 BindService模拟通信 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 2学时 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 目的:实现启动端和BindService之间的双向通信 要求:1.实现从启动端传递一个数据至BindService端: 2.实现使用BindService服务播放项目源文件中的音乐: 3.实现在启动端通过“增加

实验7 BindService 模拟通信

课程名称 基于Android平台移动互联网开发 实验日期 2016-5-2 实验项目名称 BindService模拟通信 实验地点 S3010 实验类型 □验证型    √设计型    □综合型 学  时 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 1)   实现从启动端传递一个数据至BindService端: 2)   实现使用BindService服务播放项目源文件中的音乐: 3)   实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小. 4)   实现在启动端通过“暂停”

实验七 BindService模拟通信

实验报告 课程名称 基于Android平台移动互联网开发 实验日期 2016年4月22日 实验项目名称 BindService模拟通信 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 2 一.实验目的及要求(本实验所涉及并要求掌握的知识点) 1. 实现启动端和BindService之间的双向通信: 2. 实现从启动端传递一个数据至BindService端: 3. 实现使用BindService服务播放项目源文件中的音乐: 4. 实现在启动端通过“增加”和“降

实验7 BindService模拟通信

[目的] 实现启动端和BindService之间的双向通信 [要求] 1) 实现从启动端传递一个数据至BindService端: 2) 实现使用BindService服务播放项目源文件中的音乐: 3) 实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小. 4) 实现在启动端通过“暂停”按钮控制音频暂停播放. [实验环境] 1)PC机 2)操作系统:Windows XP 3)软件: Eclipse, JDK1.6,Android SDK,ADT [实验内容及步骤] 1)设计好音乐设置的xm

【操作系统】实验三 进程调度模拟程序 截止提交时间:2016.5.12

实验三 进程调度模拟程序 1.    目的和要求 1.1.           实验目的 用高级语言完成一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 1.2.           实验要求 1.2.1例题:设计一个有 N个进程并发执行的进程调度模拟程序. 进程调度算法:采用最高优先级优先的调度算法(即把处理机分配给优先级最高的进程)和先来先服务(若优先级相同)算法. (1).  每个进程有一个进程控制块(PCB)表示.进程控制块包含如下信息:进程名.优先级.到达时间.需要运行时间.

Android开发之bindService()侦听service内部状态

在Android开发之bindService()通信的基础上,实现bindService()方法侦听service内部状态. 实现侦听service内部状态,使用的是回调机制 1.首先实现一个接口 1 public static interface CallBack{ 2 void onDataChange(String data); 3 } 2. 1 private CallBack callBack=null; 2 public void setCallBack(CallBack callB

JavaScript 倒计时(截止某日期的倒计时和截止每晚12点的倒计时以及固定时间倒计时)

截止某日期的倒计时和截止每晚12点倒计时: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> </head> <body> <h1 id="divTime"></h1> </body> <script type="text/javascript&qu

Android 通过GET和POST方式提交参数给web应用

如何把数据上传到web应用 应用界面: 视频名称:title 时长:timelength 保存,点击保存按钮提交到web应用中,web应用中开发Manageservlet来接收数据. get方式 服务端: public class ManageServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request,H

【操作系统】实验四 主存空间的分配和回收 截止提交时间:2016.6.17

1.    目的和要求 1.1.           实验目的 用高级语言完成一个主存空间的分配和回收程序,以加深对动态分区分配方式及其算法的理解. 1.2.           实验要求 采用连续分配方式之动态分区分配存储管理,使用首次适应算法.循环首次适应算法.最佳适应算法和最坏适应算法4种算法完成设计. (1)**设计一个作业申请队列以及作业完成后的释放顺序,实现主存的分配和回收.采用分区说明表进行. (2)或在程序运行过程,由用户指定申请与释放. (3)设计一个空闲区说明表,以保存某时刻