MainActivity.java

  1. package com.wwj.serviceandboardcast;
  2.  
  3. import android.app.Activity;
  4. import android.app.Service;
  5. import android.media.AudioManager;
  6. import android.media.MediaPlayer;
  7. import android.os.Bundle;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.CompoundButton;
  12. import android.widget.CompoundButton.OnCheckedChangeListener;
  13. import android.widget.ToggleButton;
  14.  
  15.  
  16. public class MainActivity extends Activity
  17. {
  18. Button play, up, down;
  19. ToggleButton mute;
  20. AudioManager aManager;
  21. @Override
  22. public void onCreate(Bundle savedInstanceState)
  23. {
  24. super.onCreate(savedInstanceState);
  25. setContentView(R.layout.main);
  26. // 获取系统的音频服务
  27. aManager = (AudioManager) getSystemService(
  28. Service.AUDIO_SERVICE);
  29. // 获取界面中三个按钮和一个ToggleButton控件
  30. play = (Button) findViewById(R.id.play);
  31. up = (Button) findViewById(R.id.up);
  32. down = (Button) findViewById(R.id.down);
  33. mute = (ToggleButton) findViewById(R.id.mute);
  34. // 为play按钮的单击事件绑定监听器
  35. play.setOnClickListener(new OnClickListener()
  36. {
  37. @Override
  38. public void onClick(View source)
  39. {
  40. // 初始化MediaPlayer对象,准备播放音乐
  41. MediaPlayer mPlayer = MediaPlayer.create(
  42. MainActivity.this, R.raw.earth);
  43. // 设置循环播放
  44. mPlayer.setLooping(true);
  45. // 开始播放
  46. mPlayer.start();
  47. }
  48. });
  49. up.setOnClickListener(new OnClickListener()
  50. {
  51. @Override
  52. public void onClick(View source)
  53. {
  54. // 指定调节音乐的音频,增大音量,而且显示音量图形示意
  55. aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
  56. AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
  57. }
  58. });
  59. down.setOnClickListener(new OnClickListener()
  60. {
  61. @Override
  62. public void onClick(View source)
  63. {
  64. // 指定调节音乐的音频,降低音量,而且显示音量图形示意
  65. aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
  66. AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
  67. }
  68. });
  69. mute.setOnCheckedChangeListener(new OnCheckedChangeListener()
  70. {
  71. @Override
  72. public void onCheckedChanged(CompoundButton source,
  73. boolean isChecked)
  74. {
  75. // 指定调节音乐的音频,根据isChecked确定是否需要静音
  76. aManager.setStreamMute(AudioManager.STREAM_MUSIC,
  77. isChecked);
  78. }
  79. });
  80. }
  81. }

XML文件

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="match_parent"
  5. android:layout_height="match_parent"
  6. android:gravity="center_horizontal"
  7. >
  8. <Button
  9. android:id="@+id/play"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:text="音频播放音乐"
  13. />
  14. <LinearLayout
  15. android:orientation="horizontal"
  16. android:layout_width="match_parent"
  17. android:layout_height="match_parent"
  18. android:gravity="center_horizontal"
  19. >
  20. <Button
  21. android:id="@+id/up"
  22. android:layout_width="wrap_content"
  23. android:layout_height="wrap_content"
  24. android:text="增大音量"
  25. />
  26. <Button
  27. android:id="@+id/down"
  28. android:layout_width="wrap_content"
  29. android:layout_height="wrap_content"
  30. android:text="降低音量"
  31. />
  32. <ToggleButton
  33. android:id="@+id/mute"
  34. android:layout_width="wrap_content"
  35. android:layout_height="wrap_content"
  36. android:textOn="静音"
  37. android:textOff="正常"
  38. />
  39. </LinearLayout>
  40. </LinearLayout>

目录结构:

效果

音频管理器(AudioManager)的更多相关文章

  1. Android 音频管理器AudioManager

    音频管理器AudioManager,通过它可以管理android系统的音量或直接让系统静音,依旧是通过调用getSystemService()方法获取音频管理器AudioManager对象,获取到该对 ...

  2. AudioManager音频管理器

    AudioManager音频管理器提供了如下几种常用方法来控制手机音频: 1.adjustStreamVolume(int StreamType,int direction,int flgs):调整手 ...

  3. WIN10REALTEL高清音频管理器如何调音?调音无效怎么办?

    从win7升级到win10,发现realtel高清音频管理器不能调节高级音响效果了,即使设置也没用. 经过研究后发现是驱动 问题,不是驱动 没有安装,而是可能 没有安装完整,于是下载了驱动精灵,重新安 ...

  4. [翻译] SoundManager 音频管理器

    SoundManager 音频管理器 https://github.com/nicklockwood/SoundManager Purpose SoundManager is a simple cla ...

  5. 电脑没有声音,显示“未插入耳机或扬声器”,检测不到Realtek高清晰音频管理器

    2018-7-16,电脑彻夜未关,早上发现已经死机了.关机重启之后,就发现没有声音了,提示“未插入耳机或扬声器”,并且检测不到Realtek高清晰音频管理器,只能检查到显卡音频输出.首先,音箱在其他电 ...

  6. 故障解决 | win10没声音及找不到Realtek高清音频管理器

    重装 win10 系统后,电脑没声音,更新驱动以及万不得已下载驱动精灵都没有解决. 后来发现在“硬件和声音”中没有Realtek高清音频管理器,之后找到解决办法如下: 1. 找到Realtek高清音频 ...

  7. Android开发之AudioManager(音频管理器)具体解释

    AudioManager简单介绍: AudioManager类提供了訪问音量和振铃器mode控制. 使用Context.getSystemService(Context.AUDIO_SERVICE)来 ...

  8. AudioManager音频管理器控制手机音频实例

    import android.media.AudioManager;import android.media.MediaPlayer;import android.os.Bundle;import a ...

  9. Android之声音管理器《AudioManager》的使用以及音量控制

    以下为网上下载然后拼接-- Android声音管理AudioManager使用 手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通 ...

随机推荐

  1. mvc下添加 EntityFramework的引用

    首先   打开工具-扩展和更新-联机-Visual Studio库,找到NuGet Package Manager 检查是否 安装,如果没有安装 先安装插件 安装成功后,右键点击‘引用’,如下图 然后 ...

  2. C# 创建WebService的简单示例

    工具Visual Studio 2013 1.创建一个空的Web应用程序. 2.鼠标右击项目,添加->新建项 选择Web服务(ASMX),点击添加.一个简单的webservice就创建完成了.

  3. TableView中Label自适应高度

    //Xcode6.3以后label自适应需要添加两个属性 _tableView.rowHeight = UITableViewAutomaticDimension; //给予预计行高 _tableVi ...

  4. Web.config Transformation Syntax for Web Application Project Deployment

    Web.config Transformation Syntax for Web Application Project Deployment Other Versions   Updated: Ma ...

  5. C# Convert.ToInt32和int.Parse转换null和空字符串时的不同表现

    Convert.ToInt32最终调用的函数见下图: int.Parse调用的函数见下图: 具体的见https://www.cnblogs.com/leolis/p/3968943.html的博客,说 ...

  6. 面向服务的架构(SOA)演变图片

    公司项目演变 成熟的公司项目结构 对比 总线-服务的注册与发现

  7. stl中顺序性容器,关联容器两者粗略解释

    什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...

  8. Java中多线程访问冲突的解决方式

    当时用多线程访问同一个资源时,非常容易出现线程安全的问题,例如当多个线程同时对一个数据进行修改时,会导致某些线程对数据的修改丢失.因此需要采用同步机制来解决这种问题. 第一种 同步方法 第二种 同步代 ...

  9. SQL Server 查询中文字段返回为空

    昨晚维护系统数据时,遇到个奇怪现象.明明数据库里有数据,查询结果就是返回为空.具体情况是这样的,查询工作日志表里关于工作描述的情况,以中文内容匹配工作描述字段,其中匹配内容里包含有空格. 尝试去掉第一 ...

  10. 2017/2/11CSS基础

    一:html中div: 1.DIV标签应用于 Style Sheet(样式表)方面会更显威力,它最终目的是给设计者另一种组织能力,有 Class.Style.title.ID 等属性. 2.<d ...