音频路由
- 在无外接设备时,使用默认的音频输出设备(设备内置的听筒或扬声器)。一旦接入外部设备,CallPlus SDK 仅会使用外接设备。
- 在接入有线耳机、蓝牙耳机、蓝牙音响等外部设备时,自动根据设备连接顺序、可用状态切换当前输出设备。当有多个外接设备时,音频会通过最后一个接入的设备播放。
管理音频路由
CallPlus SDK 提供了 RCCallPlusAudioRouteClient,用于管理音频路由。
初始化音频路由模块
- 初始化音频路由模块,使用
RCCallPlusAudioRouteClient.getInstance().init(Context context)
方法。可以在 IM SDK 初始化之前和 CallPlus SDK 初始化之前调用该方法。 - 如需判断音频路由模块是否已经初始化,可以使用
hasInit()
方法。 - 如需反初始化音频路由模块,可以使用
unInit()
方法。
注意
在初始化 SDK 提供的音频路由管理类之后,不推荐 App 再调用系统的 AudioManager 修改音频输出通道,否则可能导致 SDK 内部的音频路由管理类状态错误。若必须使用,请在相关业务处理完成之后调用 resetAudioRouteState 方法重置音频路由管理类状态。
获取当前音频路由类型
CallPlus SDK 定义了音频路由类型 RCCallPlusAudioRouteType,可通过以下方式获取当前音频路由类型 :
Java
RCCallPlusAudioRouteClient.getInstance().getCurrentRouteType();
是否插有线耳机
Java
RCCallPlusAudioRouteClient.getInstance().hasHeadSet();
是否连接蓝牙耳机
Java
RCCallPlusAudioRouteClient.getInstance().hasBluetoothA2dpConnected();
监听音频路由变更
应用程序可以通过音频路由监听器 IRCCallPlusAudioRouteListener 获取变更通知。