Android Manager之AudioManager(音频管理器)
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.获取实例
4.2.播放
4.3.停止
4.4.高音量
4.5.低音量
4.6.静音
附:AudioManager官方链接
http://androiddoc.qiniudn.com/reference/android/media/AudioManager.html
Android Manager之AudioManager(音频管理器)相关推荐
- Android 之 AudioManager ( 音频管理器 )
本节引言: 在多媒体的第一节,我们用SoundPool写了个Duang的示例,小猪点击一个按钮后,突然发出"Duang"的 一声,而且当时的声音很大,吓死宝宝了 ,好在不是上班时间 ...
- AudioManager音频管理器
AudioManger对象通过getSystemService(Service.AUDIO_SERVICE)获取 AudioManger常用的几个方法void Android.media.AudioM ...
- Android之AudioManager(音频管理器)详解
AudioManager简介: AudioManager类提供了访问音量和振铃器mode控制.使用Context.getSystemService(Context.AUDIO_SERVICE)来得到这 ...
- Android音频管理器AudioManager用法
当我们在听歌时,当我们在刷小视频时,当我们在看动漫.在看电影.在追剧时,不知道是否有人注意到,在这些软件中滑动屏幕或者拖动滑动条就可以直接控制音量,而不需要去按手机硬件上的音量键. 在某些时候,程序需 ...
- [翻译] SoundManager 音频管理器
SoundManager 音频管理器 https://github.com/nicklockwood/SoundManager Purpose SoundManager is a simple cla ...
- unity全局总的音频管理器
这篇博客介绍一个unity的总的音频管理器 可以有效避免音频错乱的问题 我们把它挂在场景中 可以使用跨场景保存的方法来实现场景跳转之后的存在 首先 这篇博客会用到我之前介绍的知识 我下面把链接先给大家 ...
- H5 微信小游戏 —— 音频管理器
前言 原本使用的是 egret 的 egret.SoundChannel 和 egret.Sound 来管理音频,但不知为何在重复将游戏切换到前后台后,很容易出现背景音播放不全.播放重复和无法播放的问 ...
- Win11找不到realtek高清晰音频管理器怎么办?
Win11找不到realtek高清晰音频管理器怎么解决?很多用户表示更新完Win11之后,找不到realtek高清晰音频管理器?这是怎么回事?下面小编给大家带来了有效的方法,希望可以帮助到大家. 方法 ...
- win7系统怎样打开音频服务器,win7系统打开音频管理器的具体教程
win7系统使用久了,好多网友反馈说win7系统打开音频管理器的问题,非常不方便.有什么办法可以永久解决win7系统打开音频管理器的问题,面对win7系统打开音频管理器的图文步骤非常简单,只需要1.点 ...
- android sdk是灰的,Android Studio 2.3 sdk管理器标签灰显
Android Studio 2.3 - >配置 - > SDK管理器. 这些选项卡呈灰色显示: SDK工具,SDK更新站点.此外,"Show Package Details&q ...
最新文章
- java常见对象_Java/10_Java常见对象.md at master · DuHouAn/Java · GitHub
- python安装mysqlclient报错_Centos 6 – sudo在为Python 3.4安装mysqlclient时...
- 广东计算机好的2a学校,广东专插本2A院校排名情况
- 开启Python自动化运维之路
- Shiro 登录、退出、校验是否登录涉及到的Session和Cookie
- 设计之路:如何进行软件需求分析?
- Gradle Introduction
- 电脑设置访问苹果服务器未响应,苹果连接电脑没反应,教您苹果连接电脑没反应怎么解决...
- appium自动化测试_Appium自动化测试入门教程No.1—— Appium介绍
- CAS:compare and swap
- 苹果证实将弃用Windows版QuickTime
- zabbix自定义用户key
- python遇到异常跳过_教你使用Python遇到的异常的处理方式!
- (转载)Fiddler 教程
- websockets_Websockets在数据工程中鲜为人知的模式
- 夏至 | 心怀热忱,认真生活 ;不负时光,不负自己
- access查询女教师所有的信息_大学计算机2(Access数据库基础)_章节测验,期末考试,慕课答案查询公众号...
- 解决IE浏览器jQuery执行ajax不响应问题
- Express中间件body-parser
- dataframe 设置空值_数据清洗--DataFrame中的空值处理方法