1.简介

Android为我们提供的(音量大小控制)的API: AudioManager(音频管理器)了,该类位于Android.Media包下,提供了音量控制与铃声模式相关操作。 




2.获得AudioManager对象实例

AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);




3.相关方法详解


3.1.

方法:adjustVolume(int direction, int flags) 

作用:控制手机音量,调大或者调小一个单位,根据第一个参数进行判断 。

参数:AudioManager.ADJUST_LOWER,可调小一个单位; AudioManager.ADJUST_RAISE,可调大一个单位


3.2.

方法:adjustStreamVolume(int streamType, int direction, int flags): 

作用:同上,不过可以选择调节的声音类型 

参数1:streamType参数,指定声音类型,有下述几种声音类型: 

STREAM_ALARM:手机闹铃 STREAM_MUSIC:手机音乐 

STREAM_RING:电话铃声 STREAM_SYSTEAM:手机系统 

STREAM_DTMF:音调 STREAM_NOTIFICATION:系统提示 

STREAM_VOICE_CALL:语音电话 

参数2:上面那个一样,调大或调小音量的。

参数3:可选的标志位,比如AudioManager.FLAG_SHOW_UI,显示进度条,AudioManager.PLAY_SOUND:播放声音。


3.3.

方法:setStreamVolume(int streamType, int index, intflags)

作用:直接设置音量大小。


3.4.

方法:getMode( )

作用:返回当前的音频模式。


3.5.

方法:setMode( )

作用:设置声音模式 。

返回值:有下述几种模式: 

MODE_NORMAL(普通), MODE_RINGTONE(铃声)

MODE_IN_CALL(打电话),MODE_IN_COMMUNICATION(通话)


3.6.

方法:getRingerMode( )

作用:返回当前的铃声模式。


3.7.

方法:setRingerMode(int streamType)

作用:设置铃声模式 。

返回值:有下述几种模式: 

如RINGER_MODE_NORMAL(普通)

RINGER_MODE_SILENT(静音)

RINGER_MODE_VIBRATE(震动)


3.8.

方法:getStreamVolume(int streamType)

作用:获得手机的当前音量,最大值为7,最小值为0,当设置为0的时候,会自动调整为震动模式


3.9.

方法:getStreamMaxVolume(int streamType)

作用:获得手机某个声音类型的最大音量值。


3.10.

方法:setStreamMute(int streamType,boolean state)

作用:将手机某个声音类型设置为静音。


3.11.

方法:setSpeakerphoneOn(boolean on)

作用:设置是否打开扩音器。


3.12.

方法:setMicrophoneMute(boolean on)

作用:设置是否让麦克风静音。


3.13.

方法:isMicrophoneMute()

作用:判断麦克风是否静音或是否打开。


3.14.

方法:isMusicActive()

作用:判断是否有音乐处于活跃状态。


3.15.

方法:isWiredHeadsetOn()

作用:判断是否插入了耳机。


3.16.

方法:abandonAudioFocus(AudioManager.OnAudioFocusChangeListenerl)

作用:放弃音频的焦点。


3.17.

方法:adjustSuggestedStreamVolume(int,int suggestedStreamType intflags)

作用:调整最相关的流的音量,或者给定的回退流。


3.18.

方法:getParameters(String keys)

作用:给音频硬件设置一个varaible数量的参数值。


3.19.

方法:getVibrateSetting(int vibrateType)

作用:返回是否该用户的振动设置为振动类型。


3.20.

方法:isBluetoothA2dpOn()

作用:检查是否A2DP蓝牙耳机音频路由是打开或关闭。


3.21.

方法:isBluetoothScoAvailableOffCall()

作用:显示当前平台是否支持使用SCO的关闭调用用例。


3.22.

方法:isBluetoothScoOn()

作用:检查通信是否使用蓝牙SCO。


3.23.

方法:loadSoundEffects()

作用:加载声音效果。


3.24.

方法:playSoundEffect((int effectType, float volume)

作用:播放声音效果。


3.25.

方法:egisterMediaButtonEventReceiver(ComponentName eventReceiver) 

作用:注册一个组件MEDIA_BUTTON意图的唯一接收机。


3.26.

方法:requestAudioFocus(AudioManager.OnAudioFocusChangeListener l,int streamType,int durationHint) 

作用:请求音频的焦点。


3.27.

方法:setBluetoothScoOn(boolean on)

作用:要求使用蓝牙SCO耳机进行通讯。


3.28.

方法:startBluetoothSco/stopBluetoothSco()

作用:启动/停止蓝牙SCO音频连接。


3.29.

方法:unloadSoundEffects()

作用:卸载音效。




4.代码实现Demo


4.1.获取实例


Android Manager之AudioManager(音频管理器)_第1张图片


4.2.播放

Android Manager之AudioManager(音频管理器)_第2张图片


4.3.停止

Android Manager之AudioManager(音频管理器)_第3张图片


4.4.高音量

Android Manager之AudioManager(音频管理器)_第4张图片


4.5.低音量

Android Manager之AudioManager(音频管理器)_第5张图片


4.6.静音

Android Manager之AudioManager(音频管理器)_第6张图片



附:AudioManager官方链接

http://androiddoc.qiniudn.com/reference/android/media/AudioManager.html

更多相关文章

  1. Android MediaPlayer音频播放器详解
  2. Android5.1系统通过包名给应用开放系统权限的方法
  3. Android MP4取得播放时长的方法
  4. Android中执行java命令的方法及java代码执行并解析shell命令
  5. Android 导入项目时报Android.jar包丢失解决方法
  6. 干货 | 聊聊这些年总结的一些学习方法
  7. Android手机访问Django测试服务器方法
  8. [转]Android xmlns 的作用及其自定义

随机推荐

  1. bootstrap高亮显示代码,且横向滚动
  2. 对Java之父的感谢多于敬仰
  3. Android(安卓)App Widget中如何调用Remot
  4. 啃一啃 Spring 的官方文档
  5. Java中的读写锁ReadWriteLock
  6. Collection总览
  7. Java 自动提交 git
  8. java后端面试高薪必备知识点-WeakHashMap
  9. 做了 454 道 Java 面试题,我依然是个【青
  10. 最近学的css技术点总结