文档章节

android AudioManager系统声音的调整

z
 zihuihui
发布于 2016/09/30 11:39
字数 233
阅读 16
收藏 0

权限添加 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

页面xml <TextView android:id="@+id/textSound" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="声音大小"/>

<SeekBar android:layout_marginTop="20dp" android:layout_marginBottom="10dp" android:layout_below="@id/textSound" android:id="@+id/mySeek" android:layout_width="match_parent" android:layout_height="wrap_content" />

<Button android:layout_below="@+id/mySeek" android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/buttonSound" android:text="声音值"/>

java代码:

package com.example.administrator.shutdowneasy; import android.content.Context; import android.media.AudioManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.SeekBar; import android.widget.TextView;

public class SoundChange extends AppCompatActivity {

private TextView text;
private SeekBar seekBar;
private Button  but;
public AudioManager audiomanage;
private int maxVolume, currentVolume;
private int volume=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_sound_change);

    text = (TextView)findViewById(R.id.textSound);
    seekBar = (SeekBar)findViewById(R.id.mySeek);
    but = (Button)findViewById(R.id.buttonSound);
    audiomanage = (AudioManager)getSystemService(Context.AUDIO_SERVICE);

    maxVolume = audiomanage.getStreamMaxVolume(AudioManager.STREAM_MUSIC);//媒体声音的最大值获取
    currentVolume = audiomanage.getStreamVolume(AudioManager.STREAM_MUSIC);//媒体声音的当前值获取
    seekBar.setMax(maxVolume);
    seekBar.setProgress(currentVolume);
    text.setText("音量:"+currentVolume);

    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            audiomanage.setStreamVolume(AudioManager.STREAM_MUSIC,progress,AudioManager.FLAG_PLAY_SOUND);//媒体声音的改变
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {

        }
    });

    but.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            currentVolume = audiomanage.getStreamVolume(AudioManager.STREAM_MUSIC);
            text.setText("音量:"+currentVolume);
        }
    });

}

}

本文转载自:

z
粉丝 0
博文 2
码字总数 379
作品 0
聊城
私信 提问
Android audioManager解决MediaPlayer AudioTrack 调节音量问

在听筒模式下 am.setSpeakerphoneOn(false); setVolumeControlStream(AudioManager.STREAMVOICECALL); am.setMode(AudioManager.MODEINCALL); 我用Mediaplayer AudioTrack调节音量总是失败 ......

程序袁_绪龙
2015/01/27
3.2K
0
Android 小项目之--使用【AudioManager】类控制音量(2)

一个好的 Android 应用免不了会自带背景音乐,比如游戏或者一款比较不错的书本阅读器。一些好的应用在自带音乐的时候会多添加一款小功能即可以帮助用户设置声音大小或者改变应用的声音模式。...

chuiyuan
2014/05/25
634
0
android AudioManager类 详解(1)

AudioManager类位于android.Media 包中,该类提供访问控制音量和钤声模式的操作。 通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。 AudioManager audiomanage =...

chuiyuan
2014/05/25
5.3K
0
Android的framework层音量控制原理分析--hot(key)处理

Android.media.AudioManager中包含了对android.media.AudioService的跨进程AIDL调用封装。 正常处理过程: 1.调整音量是通过AudioManager间接调用AudioService.adjustStreamVolume方法来完成...

鉴客
2011/11/13
2.8K
3
Android FM模块学习之四源码解析(二)

上一章我们了解了FM主activity:FMRadio.java,若没查看的,请打开链接Android FM模块学习之四源码解析(一) 查看fmradio.java源码注释。接下来我们来看看FM重要的一个类:FMRadioService....

天王盖地虎626
01/07
8
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
182
8
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部