Android实现音量调节的方法

作者:Ruthless 时间:2023-01-01 20:23:45 

本文实例讲述了Android实现音量调节的方法。分享给大家供大家参考。具体如下:

main.xml布局文件:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 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="播放音乐" />
 <LinearLayout android:orientation="horizontal"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_gravity="center_horizontal">
   <ToggleButton android:id="@+id/tbMute"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:textOn="静音"
     android:textOff="正常"
     android:checked="true"
     android:layout_gravity="center_vertical" />
   <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>

AudioActivity类:


package com.ljq.activity;
import android.app.Activity;
import android.app.Service;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ToggleButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class AudioActivity extends Activity {
 private Button btnPlay=null, btnUpper=null, btnLower=null;
 private ToggleButton tbMute=null;
 private MediaPlayer mediaPlayer=null; //声频
 private AudioManager audioManager=null; //音频
 @Override
 public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   audioManager=(AudioManager)getSystemService(Service.AUDIO_SERVICE);
   btnPlay=(Button)findViewById(R.id.btnPlay);
   btnUpper=(Button)findViewById(R.id.btnUpper);
   btnLower=(Button)findViewById(R.id.btnLower);
   btnPlay.setOnClickListener(listener);
   btnUpper.setOnClickListener(listener);
   btnLower.setOnClickListener(listener);
   tbMute=(ToggleButton)findViewById(R.id.tbMute);
   tbMute.setOnCheckedChangeListener(new OnCheckedChangeListener(){
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
       audioManager.setStreamMute(AudioManager.STREAM_MUSIC, !isChecked); //设置是否静音
     }
   });
 }
 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(AudioActivity.this, R.raw.music);
       mediaPlayer.setLooping(true);//设置循环播放
       mediaPlayer.start();//播放声音  
       break;
     case R.id.btnUpper://增多音量
       //adjustStreamVolume: 调整指定声音类型的音量
       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;
     }
   }
 };
}

运行结果:

Android实现音量调节的方法

希望本文所述对大家的Android程序设计有所帮助。

标签:Android,音量
0
投稿

猜你喜欢

  • Java原生服务器接收上传文件 不使用MultipartFile类

    2023-11-09 19:31:36
  • Android编程单选项框RadioGroup综合应用示例

    2022-01-12 19:16:29
  • 详解Java中的Lambda表达式

    2021-08-17 00:06:00
  • Springboot 使用maven release插件执行版本管理及打包操作

    2023-07-12 01:20:35
  • C#递归实现显示文件夹及所有文件并计算其大小的方法

    2023-09-13 01:56:01
  • springboottest测试依赖和使用方式

    2021-11-21 13:41:38
  • 简单实现Java版学生管理系统

    2022-06-22 15:16:19
  • SpringCloud @FeignClient参数的用法解析

    2022-11-25 06:31:37
  • Spring Boot Logback配置日志过程解析

    2022-12-09 18:08:06
  • Spring 容器初始化 register 与 refresh方法

    2021-09-19 21:20:56
  • Java快速排序QuickSort(实例)

    2021-12-22 21:47:42
  • springboot结合websocket聊天室实现私聊+群聊

    2022-09-25 03:22:23
  • Android中生成、使用Json数据实例

    2023-02-04 15:01:24
  • SpringCloud学习笔记之SpringCloud搭建父工程的过程图解

    2022-10-28 02:38:30
  • Java手动实现Redis的LRU缓存机制

    2023-07-31 12:51:30
  • Java Fluent Mybatis实战之构建项目与代码生成篇上

    2022-06-10 00:10:33
  • C++实现图书管理系统

    2023-11-03 03:00:35
  • 聊聊Java的switch为什么不支持long

    2023-08-24 17:35:14
  • Android Flutter实战之为照片添加颜色滤镜

    2023-05-17 01:27:12
  • 解读JSONArray删除元素的两种方式

    2022-10-31 11:40:50
  • asp之家 软件编程 m.aspxhome.com