zoukankan      html  css  js  c++  java
  • 实验7 BindService模拟通信

    实验报告

    课程名称

    基于Android平台移动互联网开发

    实验日期

    2016.04.20

    实验项目名称

    BindService模拟通信

    实验地点

    S3002

    实验类型

    □验证型    √设计型    □综合型

    学  时

    6

    一、 实验目的及要求(本实验所涉及并要求掌握的知识点)

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

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

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

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

    二、实验环境(本实验所使用的硬件设备和相关软件)

    (1)PC机

    (2)操作系统:Windows XP

    (3)软件: Eclipse, JDK1.6,Android SDK,ADT

    三、实验内容及步骤

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

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

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

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

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

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

    四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图)

    代码:

    xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        xmlns:tools="http://schemas.android.com/tools"

        android:orientation="vertical"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent">

     

        <Button android:id="@+id/btnPlay"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            android:text="播放音乐" />

     

        <Button

            android:id="@+id/btnPause"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:text="暂停音乐" />

     

        <LinearLayout android:orientation="horizontal"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center_horizontal">

            <Button android:id="@+id/btnUpper"

                android:text="音量+"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content" />

            <Button android:id="@+id/btnLower"

                android:text="音量—"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content" />

        </LinearLayout>

    </LinearLayout>

    主要的main

    public class MainActivity extends Activity {

        private Button btnPlay=null, btnUpper=null, btnLower=null,btnPause=null;

        private MediaPlayer mediaPlayer=null;

        private AudioManager audioManager=null;

        @Override

        protected void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);

            setContentView(R.layout.activity_main);

           

            audioManager=(AudioManager)getSystemService(Service.AUDIO_SERVICE);

           

            btnPlay=(Button)findViewById(R.id.btnPlay);

            btnPause=(Button)findViewById(R.id.btnPause);

            btnUpper=(Button)findViewById(R.id.btnUpper);

            btnLower=(Button)findViewById(R.id.btnLower);

           

            btnPlay.setOnClickListener(listener);

            btnUpper.setOnClickListener(listener);

            btnLower.setOnClickListener(listener);

            btnPause.setOnClickListener(listener);

        }

       

          View.OnClickListener listener=new View.OnClickListener(){

                public void onClick(View v) {

                    @SuppressWarnings("unused")

                    Button btn=(Button)v;

                    switch (v.getId()) {

                    case R.id.btnPlay:

                        mediaPlayer=MediaPlayer.create(MainActivity.this, R.raw.nanshannan);

                        mediaPlayer.setLooping(true);

                        mediaPlayer.start();

                        break;

                    case R.id.btnPause:

                      mediaPlayer.pause();

                      break;

                    case R.id.btnUpper:

                        audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,

                                AudioManager.ADJUST_RAISE,

                                AudioManager.FLAG_SHOW_UI);

                        break;

                    case R.id.btnLower:

                         audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,

                                AudioManager.ADJUST_LOWER,

                                AudioManager.FLAG_SHOW_UI);

                        break;

                    }

                }

            };

    }

    运行结果:(截图)

     

    五、实验总结(对本实验结果进行分析,实验心得体会及改进意见)

    这次实验老师和我们说相对比较难,所以做这个实验是比较有压力的,有些害怕,因为我对代码就没有太大兴趣,难度加大更不想去学了。

    这次实验我先看老师给的BindServic文档资料,再运行代码,可能是没有真正理解,会觉得比较乱,不知道哪一些是绑定,哪一些传递通信。按照自己的理解是,首先获取AudioManager,然后通过按钮的监听,向AudioManager获取音量信息,再调节音量大小。

    当按照自己理解,结合查询的资料,实现了音量调节功能,心里还是很开心的。

    实验评语

     

    实验成绩

     

    指导教师签名:              年   月   日

               
  • 相关阅读:
    通用网络管理方案归纳
    visual studio 中将选中代码相同的代码的颜色设置,修改高亮颜色
    (转)git stash使用
    (转) git--Remote远程仓库的使用
    (转)git checkout 撤销修改
    (转)git中关于fetch的使用
    (转)Visual Studio控制台程序输出窗口一闪而过的解决方法
    (转)sublime text3简体中文版汉化教程
    git使用记录
    (转)Java 中正确使用 hashCode 和 equals 方法
  • 原文地址:https://www.cnblogs.com/zhengyh/p/5453176.html
Copyright © 2011-2022 走看看