飞哥语录:数据类型是对内存的抽象。
1.添加权限
<uses-permission android:name=".MODIFY_AUDIO_SETTINGS" />
2.获取手机音频管理者对象
private AudioManager audioManager;
audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));
3.设置几个属性
private boolean isSpeakerOpen = true;//默认开启手机扬声器
private static int currVolume = 0;//当前音量
4.设置一个按钮的点击事件来打开关闭手机扬声器
(new () {
@Override
public void onClick(View v) {
isSpeakerOpen = !isSpeakerOpen;
if (isSpeakerOpen) {
OpenSpeaker();
} else {
CloseSpeaker();
}
}
});
5.打开扬声器
public void OpenSpeaker() {
try {
(AudioManager.ROUTE_SPEAKER);
// 获取当前通话音量
currVolume = (AudioManager.STREAM_VOICE_CALL);
if (!()) {
(true);
(AudioManager.STREAM_VOICE_CALL,
(AudioManager.STREAM_VOICE_CALL),
AudioManager.STREAM_VOICE_CALL);
}
} catch (Exception e) {
();
}
(, "打开扬声器", Toast.LENGTH_SHORT).show();
}
6.关闭扬声器
public void CloseSpeaker() {
try {
if (audioManager != null) {
if (()) {
(false);
(AudioManager.STREAM_VOICE_CALL, currVolume,AudioManager.STREAM_VOICE_CALL);
}
}
} catch (Exception e) {
();
}
(, "关闭扬声器", Toast.LENGTH_SHORT).show();
}
好了,今天的分享就到这里,如果有什么问题,可以在下方留言与我交流。