耳返
更新时间: 2022/06/06 13:01:59
耳返即耳机采集监听,在设备上插入耳机或耳麦后,可以从耳机侧听到本设备麦克风采集到的声音,主要用来监听本地采集的音频。耳返音频具备低延时、高音质等特征,可以实时向主播等参与音频互动的成员反馈本端的声音数据,让主播可以实时听到本端的声音。耳返功能一般用于在线 KTV、连麦 PK、演唱会等娱乐场景。
NERoom SDK 支持耳返功能,同时支持调节耳返的音量。
注意事项
- 请在房间内调用该方法。
- 开启耳返功能后,必须连接上耳机或耳麦,才能正常使用耳返功能。
实现方法
-
在加入房间成功后,调用
enableEarback
开启耳返功能。通过volume
参数设置采集耳返音量大小。取值范围为 0 ~ 100,默认值为 100。耳返功能可以随时开启,但只有当插入耳机或耳麦时生效,当拔出耳机或耳麦时自动暂停,再次插入耳机或耳麦自动恢复,可以实时关闭。
-
通过
onRtcAudioOutputDeviceChanged
监听播放设备的变化,当监听到播放设备切换为耳机时才开启耳返。/** * 本端音频输出设备变更通知,如切换到扬声器、听筒、耳机等 * @param device 音频输出类型 */ func onRtcAudioOutputDeviceChanged(device: NEAudioOutputDevice)
-
调用
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 | 关闭耳返。 |
此文档是否对你有帮助?