音频路由

  • Android

更新时间不可用

isSpeakerphoneEnabled

检查是否启用扬声器播放音频。

Java
public abstract boolean isSpeakerphoneEnabled();

调用时机

你可以在加入频道前或加入频道后调用该方法。

返回值

  • true:扬声器已启用,音频将从扬声器播放。
  • false:扬声器未启用,音频将从其他设备播放,例如耳机或听筒。

所属接口类

setDefaultAudioRoutetoSpeakerphone

设置默认音频播放路由。

Java
public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker);

大多数手机有两个音频路由:顶部的听筒和底部的扬声器。你可以通过调用该方法设置默认音频路由,在未连接外部音频设备时决定音频是通过听筒还是扬声器播放。 在不同场景下,系统的默认音频路由如下:

  • 语音通话:听筒。
  • 音频直播:扬声器。
  • 视频通话:扬声器。
  • 视频直播:扬声器。

注: 调用该方法设置默认音频路由后,系统的实际音频路由会根据外部音频设备(如有线耳机或蓝牙耳机)的连接情况自动切换。

调用时机

请在加入频道前调用该方法。如果需要在加入频道后更改音频路由,请调用 setEnableSpeakerphone。

参数

参数名描述
defaultToSpeaker

是否将扬声器设置为默认音频路由:

  • true:将扬声器设置为默认音频路由。
  • false:将听筒设置为默认音频路由。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setEnableSpeakerphone

设置是否将音频路由切换到扬声器。

Java
public abstract int setEnableSpeakerphone(boolean enabled);

注: 该方法仅设置当前频道中的音频路由,不影响默认音频路由。如果用户离开当前频道并加入另一个频道,将使用默认音频路由。 如果用户使用了蓝牙或有线耳机等外部音频播放设备,该方法不生效,SDK 会通过外部设备播放音频。当用户连接多个外部设备时,SDK 会通过最后连接的设备播放音频。

适用场景

如果 SDK 的默认音频路由或 setDefaultAudioRoutetoSpeakerphone 的设置无法满足你的需求,可以调用该方法切换当前音频路由。

调用时机

请在加入频道后调用该方法。

相关回调

成功调用该方法后,SDK 会触发 onAudioRouteChanged 回调报告当前音频路由。

参数

参数名描述
enabled

是否启用扬声器:

  • true:启用设备状态监测,音频路由为扬声器。
  • false:关闭设备状态监测,音频路由为听筒。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRouteInCommunicationMode

在通信音频模式下设置音频播放路由。

Java
public abstract int setRouteInCommunicationMode(int route);

该方法用于将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。

注: 同时使用该方法和 setEnableSpeakerphone 方法可能会导致冲突。建议仅使用 setRouteInCommunicationMode 方法。

调用时机

该方法可以在加入频道前或加入频道后调用。

相关回调

成功调用该方法后,SDK 会触发 onAudioRouteChanged 回调报告当前音频路由。

参数

参数名描述
route

你希望使用的音频播放路由:

  • -1:默认音频路由。
  • 0:带麦克风的耳机。
  • 1:听筒。
  • 2:不带麦克风的耳机。
  • 3:设备内置扬声器。
  • 4:(尚不支持)外部扬声器。
  • 5:蓝牙耳机。
  • 6:USB 设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onAudioRouteChanged

本地音频路由发生变化时的回调。

Java
public void onAudioRouteChanged(int routing) {}

触发时机

该回调在本地音频路由发生变化时被触发。

参数

参数名描述
routing

当前的音频路由。

  • AUDIO_ROUTE_DEFAULT(-1):默认音频路由。
  • AUDIO_ROUTE_HEADSET(0):音频路由为带麦克风的耳机。
  • AUDIO_ROUTE_EARPIECE(1):音频路由为听筒。
  • AUDIO_ROUTE_HEADSETNOMIC(2):音频路由为不带麦克风的耳机。
  • AUDIO_ROUTE_SPEAKERPHONE(3):音频路由为设备自带扬声器。
  • AUDIO_ROUTE_LOUDSPEAKER(4):音频路由为外接扬声器(预留)。
  • AUDIO_ROUTE_BLUETOOTH_DEVICE_HFP(5):音频路由为使用 HFP 协议的蓝牙设备。
  • AUDIO_ROUTE_BLUETOOTH_DEVICE_A2DP(10):音频路由为使用 A2DP 协议的蓝牙设备。
表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类