耳返

更新时间: 2023/04/26 07:55:41

耳返即耳机采集监听,在设备上插入耳机或耳麦后,可以从耳机侧听到本设备麦克风采集到的声音,主要用来监听本地采集的音频。耳返音频具备低延时、高音质等特征,可以实时向主播等参与音频互动的成员反馈本端的声音数据,让主播可以实时听到本端的声音。耳返功能一般用于在线 KTV、连麦 PK、演唱会等娱乐场景。

NERoom SDK 支持耳返功能,同时支持调节耳返的音量。

注意事项

  • 请在房间内调用该方法。
  • 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。建议通过 onRtcAudioOutputDeviceChanged 监听播放设备的变化,当监听到播放设备切换为耳机时才开启耳返。

实现方法

  1. 在加入房间成功后,调用 enableEarback 开启耳返功能。通过 volume 参数设置采集耳返音量大小。取值范围为 0 ~ 100,默认值为 100。

    耳返功能可以随时开启,但只有当插入耳机或耳麦时生效,当拔出耳机或耳麦时自动暂停,再次插入耳机或耳麦自动恢复,可以实时关闭。

  2. 通过 onRtcAudioOutputDeviceChanged 监听播放设备的变化,当监听到播放设备切换为耳机时才开启耳返。

    /**
    * 本端音频输出设备变更通知,如切换到扬声器、听筒、耳机等
    * @param device 音频输出类型
    */
    fun onRtcAudioOutputDeviceChanged(device: NEAudioOutputDevice)
    
  3. 调用 disableEarBack关闭耳返功能。

示例代码

实现监听播放设备变化的示例代码如下:

@Override
public void onRtcAudioOutputDeviceChanged(@NonNull NEAudioOutputDevice device) {
    switch (device) {
        case SPEAKER_PHONE:
            Log.d(TAG, "扬声器");
            break;
        case WIRED_HEADSET:
            Log.d(TAG, "有线耳机");
            break;
        case EARPIECE:
            Log.d(TAG, "听筒");
            break;
        case BLUETOOTH_HEADSET:
            Log.d(TAG, "蓝牙耳机");
            break;
    }
}

实现开启耳返和关闭耳返的示例代码如下:

NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext != null) {
    //开启白板
    Int result = roomContext.getRtcController().enableEarback(80);
    if (result == 0) {
        Log.d(TAG, "开启耳返成功");
    } else{
        Log.d(TAG, "开启耳返失败");
    }
}

if (roomContext != null) {
    //关闭白板
    Int result = roomContext.getRtcController().disableEarback();
    if (result == 0) {
        Log.d(TAG, "关闭耳返成功");
    } else{
        Log.d(TAG, "关闭耳返失败");
    }
}


API 参考

方法 功能描述
enableEarback 开启耳返。
disableEarback 关闭耳返。
此文档是否对你有帮助?
有帮助
去反馈
  • 注意事项
  • 实现方法
  • 示例代码
  • API 参考