Android中打开扬声器关闭麦克风的代码实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//获取音频服务
AudioManager audioManager = (AudioManager)
this.getSystemService(Context.AUDIO_SERVICE);
//设置声音模式
audioManager.setMode(AudioManager.STREAM_MUSIC);
//关闭麦克风
audioManager.setMicrophoneMute(false);
// 打开扬声器
audioManager.setSpeakerphoneOn(true);
//实例化一个SoundPool对象
SoundPool soundPool =new SoundPool(10, AudioManager.STREAM_SYSTEM, 5);
//加载声音
int id = soundPool.load(this,R.raw.beep,5);
//播放声音
soundPool.play(id, 1, 1, 0, 0, 1);
另外必须加上权限:<uses-permission
android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
AudioManager简介:
AudioManager类提供了访问音量和振铃器mode控制。
使用Context.getSystemService (Context.AUDIO_SERVICE)来得到这个类的一个实例。
公有方法:
void adjustStreamVolume(int streamType,int direction, int flags)
调整手机指定类型的声音。
其中第一个参数streamType指定声音类型,该参数可接受如下几个值。
l int STREAM_ALARM:手机闹铃的声音。
l int STREAM_DTMF:DTMF音调的声音。
l int STREAM_MUSIC:手机音乐的声音。
l int STREAM_NOTIFICATION:系统提示的声音。
l int STREAM_RING The:电话铃声的声音。
l int STREAM_SYSTEM:手机系统的声音。
l int STREAM_VOICE_CALL:语音电话的声音。
第二个参数指定对声音进行增大、还是减小;第三个参数是调整声音时的标志,例如指定FLAG_SHOW_UI,则指定调整声音时显示音量进度条。
voidsetMicrophoneMute(booleanon)
设置是否让麦克风静音。
设置为true将麦克风静音;false关闭静音
void setMode(intmode)
设置声音模式。
可设置的值有NORMAL,RINGTONE, 和IN_CALL。
voidsetRingerMode(intringerMode)
设置手机电话铃声的模式。
可支持如下几个属性值。
l int RINGER_MODE_NORMAL:正常的手机铃声。
l int RINGER_MODE_SILENT:手机铃声静音。
l int RINGER_MODE_VIBRATE:手机震动。
voidsetSpeakerphoneOn(booleanon)
设置扬声器打开或关闭。
设置为true开启免提通话;false关闭免提。
voidsetStreamMute(intstreamType,booleanstate)
将手机的指定类型的声音调整为静音。
其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同。
voidsetStreamVolume(int streamType, int index, int flags)
直接设置手机的指定类型的音量值。
其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同。