欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

android调节音量——AudioManager的应用

程序员文章站 2022-03-22 08:33:39
下面博客链接为实例代码链接,本章博客就不重复写了。我主要总结了一个方法,方便开发时候使用。AudioManager提供访问音量和振铃模式控制。 使用Context.getSystemService(Context.AUDIO_SERVICE)得到这个类的一个实例。 链接博客1 链接博客2 链接博客3 谷歌安卓中文官网声音类型(streamType): 声音类型 说明 STREA...

下面博客链接为实例代码链接,本章博客就不重复写了。我主要总结了一个方法,方便开发时候使用。

AudioManager提供访问音量和振铃模式控制。
使用Context.getSystemService(Context.AUDIO_SERVICE)得到这个类的一个实例。
链接博客1
链接博客2
链接博客3
谷歌安卓中文官网

声音类型(streamType):

声音类型 说明
STREAM_ALARM 闹钟音量
STREAM_DTMF 双音多频,拨号键的声音
STREAM_MUSIC 音乐音量,即媒体音量
STREAM_NOTIFICATION 通知音量
STREAM_RING 手机铃声
STREAM_SYSTEM 系统声音
STREAM_VOICE_CALL 通话声音

声音方向(direction)

相关方法
adjustVolume(int, int)
adjustStreamVolume(int, int, int)

声音方向 说明
ADJUST_LOWER 减少铃声音量
ADJUST_RAISE 增大铃声音量
ADJUST_MUTE 静音
ADJUST_SAME 当前音量,主要用于展示音量,并非修改
ADJUST_TOGGLE_MUTE 切换静音状态
ADJUST_UNMUTE 取消静音音量

flags:

flags类型 说明
FLAG_ALLOW_RINGER_MODES
FLAG_PLAY_SOUND 是否在改变音量时播放声音
FLAG_REMOVE_SOUND_AND_VIBRATE 无振动,无声音
FLAG_SHOW_UI 调整时显示音量条,就是按音量键出现的界面
FLAG_VIBRATE 如果进入的是振动响铃模式是否振动。
方法 说明
adjustStreamVolume(int streamType,int direction,int flags) 根据方向调整特定音量 streamType: 铃声类型- direction: 方向来调整音量 flags:一个或多个标志

方法 说明
getStreamMaxVolume(int streamType) 说明:指定声音类型的最大音量
getStreamVolume(int streamType) 指定声音类型,获取当前音量,最大值为7,最小值为0,当为0时,手机自动将模式调整为“震动模式”。
setStreamVolume(int streamType,int direction,int flags) 改变音量index:声音大小 ,可以根据-
boolean isStreamMute (int streamType) 返回特定声音类型的当前静音状态

铃声模式(ringerMode):

铃声模式 说明
RINGER_MODE_NORMAL 正常(可能有声),震动(可能振动)
RINGER_MODE_SILENT 无声,不会振动
RINGER_MODE_VIBRATE 无声,振动
方法 说明
getRingerMode() 返回当前的铃声模式。
setRingerMode(int ringerMode) 设置铃声模式。

音频模式(mode):

音频模式 说明
MODE_CURRENT 当前音频模式
MODE_NORMAL 正常音频模式:不响,没有呼叫建立。
MODE_RINGTONE 振铃音模式。呼入被通知。
MODE_IN_CALL 在通话音频模式。一个电话呼叫建立。
MODE_IN_COMMUNICATION 在通信音频模式。音频/视频聊天或VoIP呼叫建立。
MODE_INVALID
int getMode () 返回当前的音频模式
setMode(int mode) 设置音频模式。
方法 说明
isVolumeFixed() 判断是否是固定声音,是则无法通过修改调节音量
isMusicActive() 检查音乐是否处于活动状态
isSpeakerphoneOn() 检查扬声器是否打开或关闭。
setMicrophoneMute(boolean on) 设置开启或关闭麦克风静音。
setSpeakerphoneOn(boolean on) 设置为打开或关闭扬声器。
registerAudioDeviceCallback(AudioDeviceCallback callback, Handler handler) 注册一个AudioDeviceCallback对象,以接收改变通知到设定连接的音频设备。
registerAudioPlaybackCallback(AudioManager.AudioPlaybackCallback cb, Handler handler) 注册一个回调,通过通知的音频播放变化
AudioManager.AudioPlaybackCallback
requestAudioFocus(AudioFocusRequest focusRequest) 请求音频焦点。

本文地址:https://blog.csdn.net/mbh12333/article/details/72541277