实验7 201306114104彭得源
实验报告
课程名称 |
基于Android平台移动互联网开发 |
实验日期 |
16/03/25 |
||
实验项目名称 |
实验7 |
实验地点 |
S3010 |
||
实验类型 |
□验证型 √设计型 □综合型 |
学 时 |
|
||
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||||
实现启动端和BindService之间的双向通信 1) 实现从启动端传递一个数据至BindService端; 2) 实现使用BindService服务播放项目源文件中的音乐; 3) 实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小。 4) 实现在启动端通过“暂停”按钮控制音频暂停播放。
|
|||||
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||||
Android资源管理机制。
|
|||||
三、实验内容及步骤 |
|||||
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) setStreamVolume(intstreamType, int index, intflags):直接设置音量大小 4) getStreamVolume(intstreamType):取得当前手机的音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。 5) setStreamMute(intstreamType, boolean state):设置静音
|
|||||
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)
|
|||||
代码:实验代码 package com.example.sudoku04;
import android.app.Service; import android.content.Context; import android.content.Intent; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Binder; import android.os.IBinder;
public class Myservice extends Service{ private MediaPlayer mp=new MediaPlayer(); int volume; AudioManager manager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
public class mybind extends Binder{ public int getcount(){ return volume; }
}
@Override public IBinder onBind(Intent arg0) { // TODO Auto-generated method stub return null; }
@Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); mp=MediaPlayer.create(Myservice.this, R.raw.nan); mp.start(); volume = manager.getStreamVolume(AudioManager.STREAM_MUSIC);
} @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy();
mp.stop(); }
}
运行结果:(截图)
: |
|||||
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||||
有点难,数据传送总是崩溃,还没解决! 喜欢下次老师可以一边讲我们一边做,老师把演示窗口化,我们就可以跟着老师的步骤一边听一边做了。 |
|||||
实验评语 |
|
||||
实验成绩 |
|
指导教师签名: 年 月 日 |
|||