Android 打开关闭手机扬声器

时间:2025-01-31 08:21:41

飞哥语录:数据类型是对内存的抽象。

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();
    }

好了,今天的分享就到这里,如果有什么问题,可以在下方留言与我交流。