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. css控制div上浮下落

    CSS3 示例:http://www.w3school.com.cn/cssref/pr_keyframes.asp 以下是代码: <!DOCTYPE html> <html> ...

  2. webpack(二) 根据模板生成简单的html文件

    (一)使用webpack 根据模板生成HTML,首先需要安装插件 html-webpack-plugin. 在工程文件夹安装插件 命令如下: npm install html-webpack-plug ...

  3. errror:[test_rig3.launch] is neither a launch file in package [svo_ros] nor is [svo_ros] a launch file name The traceback for the exception was written to the log file

    1. 打开一个终端,运行roscore 2. 打开另一个终端,运行 roslaunch svo_ros test_rig3.launch 出现errror: 忘记关键步骤了 $ cd <path ...

  4. 在textarea中鼠标指定的位置插入字符或表情

    有些时候我们已经在textarea中输入了一些字符,然后想在鼠标指定的位置插入表情或者字符,这就需要用到jquery的一个小插件了. 代码如下: (function ($) { $.fn.extend ...

  5. sqlserver数据库的分离与附加

    当我们一台电脑上创建了数据库想要转移到另外一台电脑上时,由于数据库处于联机状态,不能够对数据库文件进行复制和迁移,所以我们可以将数据库从服务器上分离出去,这样我们就可以复制数据库文件了.然后将数据库文 ...

  6. JAVA课堂练习-动手动脑--数组

    1.阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. 源代码: public class PassArray { public stat ...

  7. Android开发之使用GridView+仿微信图片上传功能(附源代码)

    前言:如果转载文章请声明转载自:https://i.cnblogs.com/EditPosts.aspx?postid=7419021  .另外针对有些网站转载本人的文章结果源码链接不对的问题,本人在 ...

  8. Liunx mv(转)

    转竹子—博客:http://www.cnblogs.com/peida/archive/2012/10/27/2743022.html mv命令是move的缩写,可以用来移动文件或者将文件改名(mov ...

  9. hdu 5461(2015沈阳网赛 简单暴力) Largest Point

    题目;http://acm.hdu.edu.cn/showproblem.php?pid=5461 题意就是在数组中找出a*t[i]*t[i]+b*t[j]的最大值,特别注意的是这里i和i不能相等,想 ...

  10. poj 2492(关系并查集) 同性恋

    题目;http://poj.org/problem?id=2492 卧槽很前卫的题意啊,感觉节操都碎了, t组测试数据,然后n,m,n条虫子,然后m行,每行两个数代表a和b有性行为(默认既然能这样就代 ...