Android开发之关闭和打开Speaker(扬声器)的方法

内容摘要
本文实例讲述了Android开发之关闭和打开Speaker(扬声器)的方法。分享给大家供大家参考,具体如下:


private int currVolume = 0;
/**
* 打开扬声器
*/
private void openSpea
文章正文

本文实例讲述了Android开发之关闭和打开Speaker(扬声器)的方法。分享给大家供大家参考,具体如下:

private int currVolume = 0;
/**
* 打开扬声器
*/
private void openSpeaker() {
    try{
      AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
      audioManager.setMode(AudioManager.ROUTE_SPEAKER);
      currVolume = audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
      if(!audioManager.isSpeakerphoneOn()) {
        //setSpeakerphoneOn() only work when audio mode set to MODE_IN_CALL.
        audioManager.setMode(AudioManager.MODE_IN_CALL);
        audioManager.setSpeakerphoneOn(true);
        audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
            audioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL ),
            AudioManager.STREAM_VOICE_CALL);
      }
    } catch (Exception e) {
      e.printStackTrace();
    }
}
/**
* 关闭扬声器
*/
public void closeSpeaker() {
    try {
      AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
      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();
    }
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android调试技巧与常见问题解决方法汇总》、《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。


代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!