`

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中实现音量调节,包括页面布局和多媒体播放的设置技巧。 首先,我们需要创建一个UI界面...

    android自定义音量调节

    在Android开发中,有时我们可能需要为用户提供更加个性化的...总之,自定义Android音量调节需要结合SeekBar组件、AudioManager服务以及界面设计技巧,通过监听事件并操作音频流,可以打造出具有个性化的音量控制体验。

    安卓Android源码——仿ios音量调节的效果.zip

    "安卓Android源码——仿ios音量调节的效果.zip"这个压缩包文件就是针对这一需求,提供了源代码,帮助开发者创建一个类似iOS设备上的音量调节界面。在iOS系统中,音量调节界面通常以滑块的形式出现,简洁且直观。以下...

    Android之系统音量亮度调节

    首先,我们来了解一下音量调节。Android系统提供了多种音量级别,如媒体音量、通话音量、闹钟音量、通知音量等。这些音量控制可以通过系统的AudioManager服务进行操作。开发者可以调用AudioManager的setStreamVolume...

    Android项目仿ios音量调节的效果.rar

    在Android开发中,有时我们希望实现与iOS类似的音量调节界面和体验,以提供用户更加一致的操作感受。这个"Android项目仿ios音量调节的效果"压缩包文件包含了一个示例项目,展示了如何在Android上模仿iOS的音量控制UI...

    Android 自定义View (四) 视频音量调控

    在这个音量调控View的例子中,我们需要关注的是如何实现音量的显示和调节。以下是一些关键知识点: 1. **音量获取与设置**:使用Android系统的AudioManager服务来获取当前音量,并可以调用其方法改变音量级别。例如...

    安卓Android源码——仿ios音量调节的效果.rar

    本资源"安卓Android源码——仿ios音量调节的效果.rar"提供了一个具体的示例,教你如何在Android应用中模仿iOS系统的音量调节界面。这个教程对于那些希望使自己的应用具有跨平台一致性或者追求独特UI设计的开发者来说...

    Android 各种音量的获取

    在Android开发过程中,对于音频控制的需求非常普遍,比如在开发电话应用时调整通话音量、在音乐播放器中调节播放音量等。本文将详细介绍如何通过编程方式获取Android系统中的不同类型的音量。 #### 二、基本概念...

    Android应用源码仿ios音量调节的效果-IT计算机-毕业设计.zip

    在Android应用开发中,模拟iOS音量调节效果是一项常见的需求,尤其在追求界面一致性或跨平台体验时。这个"Android应用源码仿ios音量调节的效果"项目提供了一个示例,帮助开发者理解如何在Android平台上实现类似iOS的...

    基于Android的仿ios音量调节的效果.zip

    在Android平台上实现仿iOS音量调节效果,是一个有趣且实用的课题,可以帮助开发者提升应用程序的用户体验。本项目针对Android开发人员,尤其是初学者和毕业生,提供了实现这一效果的方法。无论你是使用Android ...

    Android 手势调节亮度和音量

    对于音量调节,Android提供了一系列的`AudioManager`类的方法,如`adjustVolume(int direction, int flags)`或`setStreamVolume(int streamType, int index, int flags)`。前者可以根据用户滑动的方向增加或减少音量...

    自定义view之音量调节

    综上所述,自定义view之音量调节项目涵盖了Android开发中自定义View的创建、事件处理、系统服务交互、动画实现、事件协调等多个方面,是学习和实践Android高级开发的好例子。通过这个项目,开发者可以深入理解...

    Android 自定义音量控件

    "Android 自定义音量控件"这个话题旨在教你如何根据特定需求创建一个定制化的音量调节组件,以替代系统默认的音量控制。下面我们将深入探讨这个过程。 首先,我们需要了解Android系统中的音量管理机制。Android系统...

    Android应用源码仿ios音量调节的效果.zip

    在Android应用开发中,有时我们希望实现类似iOS的音量调节效果,以提供用户更为一致的体验。这个"Android应用源码仿ios音量调节的效果.zip"文件包含了一个示例项目,展示了如何在Android上模仿iOS音量控制的UI和交互...

    Android音量调节滑块控件开发.rar

    Android音量调节滑块控件开发

    Android音量调节SeekBar构建指南.zip

    Android音量调节SeekBar构建指南

    android 音量控制

    下面我们将详细探讨Android音量控制的相关知识点。 1. **音量级别与通道** - Android系统将音量分为多个通道,包括媒体(Media)、通话(Voice Call)、闹钟(Alarm)、通知(Notification)和系统(System)。每...

    android 小米UI 自定义音量

    在Android中,音量控制通常使用滑动条或者进度条来表示音量大小,因此CircleProgressView可能是小米UI自定义音量控件的核心组件,它可能是一个圆形的进度条,提供更美观、直观的音量调节体验。 要移植小米UI的...

    android java 自定义音量键seekbar控制系统的媒体音量和通话音量,可自动实现切换

    在Android开发中,有时我们需要对系统的音量进行自定义控制,比如使用Seekbar来模拟音量调节滑块,同时能够根据不同的场景(如媒体播放、通话中)智能切换控制对应的音量。本教程将深入讲解如何实现这个功能,主要...

Global site tag (gtag.js) - Google Analytics