Android开启关闭手机扬声器

本文介绍了一种在Android设备上控制扬声器的方法。通过使用AudioManager类,可以实现打开和关闭扬声器的功能,并能保存和恢复当前的通话音量。此方法适用于需要在应用程序中控制音频输出场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 /**
     * 当前音量
     */
    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( "关闭扬声器");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值