耳返

更新时间: 2022/06/06 13:01:59

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

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

注意事项

  • 请在房间内调用该方法。
  • 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。

实现方法

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

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

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

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

示例代码

    // 监听播放设备的变化
    func onRtcAudioOutputDeviceChanged(device: NEAudioOutputDevice) {
      switch device {
      case .speakerPhone:
          // 当前扬声器
      case .wiredHeadset:
          // 当前有线耳机
      case .earpiece:
          // 当前听筒
      case .bluetoothHeadset:
          // 当前蓝牙耳机
      }
    }
    // 打开耳返
    let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")

    guard let roomContext = roomContext else {
        return
    }
    let volume = 100
    roomContext.rtcController.enableEarback(volume: volume) { code, string in
        if code == 0 {
            print("Successfully enable earback.")
        } else {
            print("Failed to enabel earback. Reason: \(string ?? "")")
        }
    }
    // 关闭耳返
    let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")

    guard let roomContext = roomContext else {
        return
    }
    roomContext.rtcController.disableEarback() { code, string in
        if code == 0 {
            print("Successfully disable earback.")
        } else {
            print("Failed to disable earback. Reason: \(string ?? "")")
        }
    }

API 参考

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