语音对讲
语音对讲
选择集成方式对比表为准:云直播(H)不支持语音对讲;轻应用、移动应用、桌面应用支持(设备须具备对讲能力)。
轻应用入口见 轻应用使用说明 与下方 L 分段(startTalk / videoTalk)。
步骤
云直播不支持对讲。服务端无单独「对讲 URL」HTTP 步骤;Web/小程序用轻应用 L 分段,原生端用 A / I / PC / HM 分段中的 OpenSDK 对讲 API。
各端实现
轻应用
轻应用组件 写:
- 初始化参数
videoTalk,说明为视频对讲,默认 false。 - 控件
talk的说明是对讲。controls为 true 时控件配置才生效。 player.startTalk():语音对讲。player.startTalk("video"):视频对讲。player.stopTalk():结束对讲。player.answerVideoTalk():接收到设备发起可视对讲,进入接听/拒接状态。
播放事件回调:talkStart 开始对讲,talkEnd 对讲结束。
播放错误回调(对讲相关):
| errCode | errMsg |
|---|---|
| 2001 | 获取对讲地址失败,请检查设备 |
| 2002 | 对讲连接建立失败, 已存在语音对讲流源 |
| 2003 | 设备不支持视频对讲 |
| 2004 | 麦克风已被占用 或 无法获取麦克风权限 |
| 2005 | 摄像头已被占用 或 无法获取摄像头权限 |
| 2006 | 对讲失败,请稍后重试 |
| 2007 | 视频对讲,设备端已挂断 |
| 2008 | 对讲忙线 |
常见问题写:发起对讲、设备端无声音时,有可能是通道音频格式是 ACC,但是 RTSP 信令返回的是 L16;目前通过 NVR 和通道 IPC 对讲,不支持 L16。建立 WebSocket 返回 404 时(对讲与直播、录像共用规则):流地址按需获取,勿提前请求导致超时,勿并发混用多路流源。
播放器初始化见 实时预览 的轻应用分段。
小程序
微信小程序与 H5 轻应用相同:初始化播放器并开启 talk 控件后,调用 player.startTalk() / player.stopTalk();须授予麦克风权限(失败见 L 分段错误码 2004)。插件接入见 小程序插件。
Android
在已拉流的预览会话上调用 OpenSDK 对讲 API(与预览同通道)。集成步骤见 Android 功能集成 与 标准化 Demo。
iOS
在已拉流的预览会话上调用 OpenSDK 对讲 API。见 iOS 功能集成 与 Demo。
鸿蒙
鸿蒙端在 OpenSDK 预览能力中开启对讲,步骤见 鸿蒙功能集成(能力以设备与 SDK 版本为准)。
PC
桌面 OpenSDK 在预览模块提供语音/视频对讲,用法见 桌面应用功能集成。Web 端仍用轻应用 startTalk(见 L 分段)。