zoukankan      html  css  js  c++  java
  • 音频管理器(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>

    目录结构:

    效果

  • 相关阅读:
    Docker删除某个容器时失败解决方案
    Docker搭建redis
    Django优雅集成MongoDB
    MongoDB学习笔记:文档Crud Shell
    MongoDB学习笔记:MongoDB 数据库的命名、设计规范
    MongoDB学习笔记:快速入门
    MongoDB学习笔记:Python 操作MongoDB
    在Docker中安装MongoDB
    Linux 挂载盘
    java中Array/List/Map/Object与Json互相转换详解(转载)
  • 原文地址:https://www.cnblogs.com/wwjldm/p/6972171.html
Copyright © 2011-2022 走看看