`

[AndroidTips]打开/关闭免提(SpeakerPhone)

 
阅读更多

//打开扬声器
     public void OpenSpeaker() {

         try{
         AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
         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();
        }
     }


    //关闭扬声器
    public void CloseSpeaker() {
    
        try {
            AudioManager audioManager = (AudioManager) mContext.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();
        }
          //Toast.makeText(context,"揚聲器已經關閉",Toast.LENGTH_SHORT).show();
    }

 

 

setSpeakerphoneOn() only work when audio mode set to MODE_IN_CALL. Try this:

AudioManager audioManager = (AudioManager)mActivity.getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_IN_CALL); audioManager.setSpeakerphoneOn(true);

Please remember set back to normal mode before you quit.

 

Your code needs to have android.permission.MODIFY_AUDIO_SETTINGS permission set in your manifest file because setSpeakerPhoneOn() requires that permission.

分享到:
评论
1 楼 ahong520 2012-09-25  
setSpeakerphoneOn() only work when audio mode set to MODE_IN_CALL ?谁说的啊。。
你代码中audioManager.setMode(AudioManager.ROUTE_SPEAKER);是什么额意思啊,为什么而用AudioManager.ROUTE_SPEAKER,它的值等于AudioManager.MODE_IN_CALL,就算效果达到了,但是代码这么写还是有问题的。。

相关推荐

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

    本篇文章将详细讲解如何在Android系统中关闭和打开Speaker(扬声器)。 首先,我们需要导入相关的Android音频管理类`AudioManager`,它提供了对系统音频服务的访问,包括音量控制、音频流类型和输出设备的选择。...

    ony vgn-y18c MODEM驱动 Motorola SM56 Speakerphone Modem PART1

    sony vgn-y18c Modem驱动,Motorola SM56 Speakerphone Modem。sony 索尼 vgn-y18c 笔记本驱动不好找,把我的原装驱动贡献出来。适当收取一点虚拟分,望谅解。

    Bria Android Edition 3.0.4.1

    Bria Android Edition is a highly secure, standards-based mobile VoIP softphone that works over both 3G and Wi-Fi networks. Using the device’s existing contact list, Bria Android Edition facilitates ...

    摩托罗拉sm56 FAX modem的XP驱动

    这个是真正能够驱动摩托罗拉sm56的XP驱动程序,不过使用后会自动关闭语音功能。不影响收发传真和拨号。

    bria for android

    CounterPath brings you Bria, Android Edition. Bria Android Edition is a highly secure, standards-based mobile VoIP softphone that works over both 3G and Wi-Fi networks. Using the device’s existing...

    sony vgn-y18c Modem驱动 PART2

    sony vgn-y18c Modem驱动,Motorola SM56 Speakerphone Modem。sony 索尼 vgn-y18c 笔记本驱动不好找,把我的原装驱动贡献出来。适当收取一点虚拟分,望谅解。

    无线电话方案

    - **免提模式(SPEAKERPHONE)**:允许用户在不手持设备的情况下进行通话。 - **麦克风(MICROPHONE)**:用于采集声音信号。 - **点阵液晶屏(DOTMATRIXLCD)**:显示设备状态和其他信息。 - **键盘(KEYPAD)**:...

    il3418 pdf

    IL3418是一款专为电话机设计的高度集成芯片,其核心功能在于实现高质量免提通话系统(Hands-Free Speakerphone System)。该芯片集成了放大器、衰减器、电平检测器以及控制算法等组件,适用于多种电话应用场景。 ##...

    Kodiak_PoC_Mobile_Client_Device_Requirements-9_0_v1.4.pdf

    - 在PoC(PoC,即时通信)呼叫期间关闭翻盖式/滑动式设备(Clamshell Device/Slider)。 - 与手机铃声配置文件的集成。 - PoC事件/状态音。 - 音频编解码器(Codecs)的支持,可能包括AMR和Opus音频格式。 - 音频...

    联想旭日420AXP系统声卡驱动

    ;Windows 2000/XP WDM Modem Setup File ;... 2004-2006 ;Manufacturer: Motorola Inc [Version] Signature = "$Windows NT$" Class = Modem ClassGUID = {4D36E96D-E325-11CE-BFC1-08002BE10318} ...

    旭日420AXP系统调制解调器驱动

    ;Windows 2000/XP WDM Modem Setup File ;... 2004-2006 ;Manufacturer: Motorola Inc [Version] Signature = "$Windows NT$" Class = Modem ClassGUID = {4D36E96D-E325-11CE-BFC1-08002BE10318} ...

    ST与奥迪携手共同推进汽车半导体技术创新.pdf

    他们结合NXP的LifeVibes Voice Experience软件和CEVA的TeakLite系列DSP内核,提供了一款优化的解决方案,用于speakerphone、多麦克风噪声抑制、回声消除和语音质量提升。此解决方案已经在超过20亿设备中用于音频/...

    Bluetooth audio quality improvement.pdf

    4. **Speakerphone(扬声器电话功能)**:扬声器电话功能允许用户通过扬声器而非传统的听筒进行通话或播放音频。优化这一功能可以提高音频播放时的清晰度和音质。 5. **DAC(数字模拟转换器)和 ADC(模拟数字转换...

Global site tag (gtag.js) - Google Analytics