WenJieWangFlyToWorld

导航

音频管理器(AudioManager)

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>

 

目录结构:

效果

 

posted on 2017-06-09 15:32  WenjieWangFlyToWorld  阅读(742)  评论(0编辑  收藏  举报