Android开启关闭手机扬声器
最新推荐文章于 2024-10-28 13:58:26 发布
原创
最新推荐文章于 2024-10-28 13:58:26 发布
·
2.1k 阅读
·
0
·
4
·
CC 4.0 BY-SA版权
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
Android
专栏收录该内容
92 篇文章
订阅专栏
本文介绍了一种在Android设备上控制扬声器的方法。通过使用AudioManager类,可以实现打开和关闭扬声器的功能,并能保存和恢复当前的通话音量。此方法适用于需要在应用程序中控制音频输出场景。
/**
* 当前音量
*/
private static int currVolume = 0;
private AudioManager audioManager;
@Override
public void openSpeaker() {
try {
if (audioManager == null) {
audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));
}
// 获取当前通话音量
currVolume = audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
if (!audioManager.isSpeakerphoneOn()) {
audioManager.setSpeakerphoneOn(true);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL),
AudioManager.STREAM_VOICE_CALL);
}
} catch (Exception e) {
e.printStackTrace();
}
ToastUtil.showToast( "打开扬声器");
}
@Override
public void closeSpeaker() {
try {
if (audioManager == null) {
audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));
}
if (audioManager.isSpeakerphoneOn()) {
audioManager.setSpeakerphoneOn(false);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, currVolume,AudioManager.STREAM_VOICE_CALL);
}
} catch (Exception e) {
e.printStackTrace();
}
ToastUtil.showToast( "关闭扬声器");
}