前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 打开关闭手机扬声器

Android 打开关闭手机扬声器

作者头像
程序员飞飞
发布2020-02-27 16:57:52
3K0
发布2020-02-27 16:57:52
举报
文章被收录于专栏:Android&Java技术

Android打开关闭手机扬声器

1.添加权限

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

2.获取手机音频管理者对象

代码语言:javascript
复制
	private AudioManager audioManager;   
	audioManager = ((AudioManager) getSystemService(AUDIO_SERVICE));

3.设置几个属性

代码语言:javascript
复制
private boolean isSpeakerOpen = true;//默认开启手机扬声器  
private static int currVolume = 0;//当前音量

4.设置一个按钮的点击事件来打开关闭手机扬声器

代码语言:javascript
复制
	button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
				isSpeakerOpen = !isSpeakerOpen;
                if (isSpeakerOpen) {
                    OpenSpeaker();
                } else {
                    CloseSpeaker();
                }
            }
        });

5.打开扬声器

代码语言:javascript
复制
public void OpenSpeaker() {
        try {
            audioManager.setMode(AudioManager.ROUTE_SPEAKER);
            // 获取当前通话音量
            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();
        }
        Toast.makeText(MainActivity.this, "打开扬声器", Toast.LENGTH_SHORT).show();
    }

6.关闭扬声器

代码语言:javascript
复制
public void CloseSpeaker() {

        try {
            if (audioManager != null) {
                if (audioManager.isSpeakerphoneOn()) {
                    audioManager.setSpeakerphoneOn(false);
                    audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, currVolume,AudioManager.STREAM_VOICE_CALL);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        Toast.makeText(MainActivity.this, "关闭扬声器", Toast.LENGTH_SHORT).show();
    }

本文首发于我的微信公众号,更多干货文章,请扫描二维码订阅哦:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/03/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android打开关闭手机扬声器
    • 1.添加权限
      • 2.获取手机音频管理者对象
        • 3.设置几个属性
          • 4.设置一个按钮的点击事件来打开关闭手机扬声器
            • 5.打开扬声器
            • 6.关闭扬声器
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档