实验报告
课程名称 |
基于Android平台移动互联网开发 |
实验日期 |
4.21 |
||
实验项目名称 |
BindService模拟通信 |
实验地点 |
S3010 |
||
实验类型 |
□验证型 √设计型 □综合型 |
学 时 |
|||
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||||
实现启动端和BindService之间的双向通信 实现从启动端传递一个数据至BindService端; 实现使用BindService服务播放项目源文件中的音乐; 实现在启动端通过“增加”和“降低”两个按钮控制音频音量大小。 实现在启动端通过“暂停”按钮控制音频暂停播放。 |
|||||
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||||
(1)PC机 (2)操作系统:Windows XP (3)软件: Eclipse, JDK1.6,Android SDK,ADT |
|||||
三、实验内容及步骤 |
|||||
android audioManager获取音量: 先获取AudioManager实例, 然后调节音量 |
|||||
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图) |
|||||
代码: public class BackmusicService extends Service{ MediaPlayer mp=new MediaPlayer(); Mbinder binder=new Mbinder(); AudioManager audioManager; boolean isSilent=false; public void setsilent(boolean isSilent){ if(isSilent){ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,0,0); }else{ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,1000,1000); } } public void setvolum(int setting){ audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,setting,100); } public void onCreate() { // TODO Auto-generated method stub File file=new File(Environment.getExternalStorageDirectory().getPath()+"/nanshannan.mp3"); if(file.exists()){ try { mp.setDataSource(file.getAbsolutePath()); mp.prepare(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } audioManager=(AudioManager) getSystemService(Context.AUDIO_SERVICE); mp.start(); } super.onCreate(); } @Override public int onStartCommand(Intent intent, int flags, int startId) { // TODO Auto-generated method stub mp.start(); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); if(mp.isPlaying()){ mp.stop(); mp.release(); } } public class Mbinder extends Binder{ public BackmusicService getBackmusicService(){ return BackmusicService.this; } } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return binder; } 运行结果:(截图)
|
|||||
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||||
这次的实验比较复杂,代码没有弄懂意思,所以没能够实现实验内容,希望老师能在讲解多次。 |
|||||
实验评语 |
|
||||
实验成绩 |
|
指导教师签名: 年 月 日 |