切换音频声道-耳机-外放-蓝牙

  • 完整代码ZIP:下载

  • 更多其他页面-自定义View-实用功能合集:点击查看


功能简介

实现切换音频通道 蓝牙,外放,耳机


实现步骤

1.通过mAudioManager获取管理音频设备的实例
2.如何切换至耳机
mAudioManager.setSpeakerphoneOn(false)外放话筒关闭。mAudioManager.setBluetoothScoOn(false)蓝牙关闭。
3.如何切换至蓝牙
mAudioManager.setSpeakerphoneOn(false)外放话筒关闭。> mAudioManager.startBluetoothSco()启动蓝牙Sco
mAudioManager.setBluetoothScoOn(true); 设置socOn开启
4.如何切换至外放
耳机,蓝牙,全都关闭
mAudioManager.setSpeakerphoneOn(true) 外放话筒打开


java代码

 * Android技术生活-QQ交流群:723592501

public class DeviceSpeakerChangeUtil {
    /**
     * 简介:设备语音切换-蓝牙-外放-听筒
     * 作者:YFZ
     * 主要功能: 设备语音切换-蓝牙-外放-听筒
     */
    private static AudioManager mAudioManager;

    /**
     * 切换到外放
     */
    public static void changeToSpeaker(Context context){
        deviceChangeToHeadPhone(context);
        mAudioManager.setSpeakerphoneOn(true);  //打开外放
    }

    /**
     * 切换到蓝牙耳机
     */
    public static void changeToBlueTooth(Context context){
        deviceChangeToHeadPhone(context);
        mAudioManager.startBluetoothSco(); //启动蓝牙耳机
        mAudioManager.setBluetoothScoOn(true); //设置socOn开启,蓝牙耳机开启
    }

    /**
     * 切换到耳机模式
     */
    public static void  deviceChangeToHeadPhone(Context context){
        if(mAudioManager==null) {
            mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        }
        mAudioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
        mAudioManager.stopBluetoothSco();        //停止蓝牙耳机
        mAudioManager.setBluetoothScoOn(false);  //设蓝牙ScoOn关闭,蓝牙耳机则会停止
        mAudioManager.setSpeakerphoneOn(false);  //设置外放话筒关闭
    }

}



Android技术生活交流

----- qq群

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐