跳到主要内容

双向对讲

更新时间:2026-10-29 10:05:40

语音通话​

双向对讲只在直播时可用。

双向对讲接口与【通用版-双向对讲】相同,区别在于构建 IPlayInfo 通话对象时,需要设置 deviceType = 1,即专属版设备。

// 导入音视频通话头文件
import { RTCXAudiaVideoService, RTCXAudiaVideoTalk, RTCXMediaType, RTCXLogger } from 'rtcxsdk'

通话对象​

const playInfo: RTCXMediaType.IPlayInfo = {
iotId: this.deviceInfo?.iotId,
productKey: this.deviceInfo?.productKey,
deviceName: this.deviceInfo?.deviceName,
lensId: 0,
streamType: 0,
deviceType: 1 // 1:专属版设备
}

调用示例​

// 1. 添加监听
audiaListener: RTCXAudiaVideoService.IAudioVideoTalkListener = {
onFailToAudioVideoTalk: (error: BusinessError<void> | undefined) => {
RTCXLogger.i(this.TAG, `对讲发生错误:${error?.code}, ${error?.message}`)
}
}

// 2. 初始化通话引擎
const playInfo: RTCXMediaType.IPlayInfo = {
iotId: this.deviceInfo?.iotId!!,
productKey: this.deviceInfo?.productKey!!,
deviceName: this.deviceInfo?.deviceName!!,
lensId: 0,
streamType: 0,
deviceType: 1 // 1:专属版设备
}
this.audioTalkEngin = new RTCXAudiaVideoTalk.AudioVideoTalk(
playInfo,
RTCXAudiaVideoService.EAudioVideoTalkType.Audio,
this.audiaListener
)

// 3. 开始音频通话
this.audioTalkEngin.startTalk()

// 4. 结束音频通话
this.audioTalkEngin.endTalk()

备注:当 onFailToAudioVideoTalk 回调 error.code = -10023 时,代表当前语音对讲通道被其他端占用,应结束对讲。