跳到主要内容
版本:4.0

对讲集成指南

对讲通过 GT-Streaming 建立客户端与车载终端之间的 双向音频通道,实现调度员与司机的语音通话。

前置条件

  • 终端经网关在线,且支持 JT/T 1078 对讲指令
  • 终端 ACC ON 等前置条件已满足(视终端配置而定)
  • 浏览器端需采用 HTTPS 协议才能调用麦克风(getUserMedia
  • 同一时刻,同一通道仅允许一路对讲;对讲不支持共享打开

与实时播放的区别

项目实时音视频对讲
dataType0(音视频)等2(双向对讲)
客户端播放播放 playUrl 中的终端音频同左
客户端上行taUrl / wsUrl 推送麦克风音频
共享打开支持多人观看不支持
通道占用对讲占用后,同通道其它打开返回 -21同左

基本流程

  1. (HTTP API)订阅流媒体状态通知;WebSocket API 可跳过
  2. 调用 打开实时音视频,设置 dataType: 2
  3. readyfalse,等待 act=ready 通知
  4. playUrl 播放终端音频,启动 15 秒保活 定时器
  5. 连接返回的 对讲推送地址,采集麦克风并推送音频:
    • HTTP APItaUrl(二进制 WebSocket,推荐)或 wsUrl(STOMP)
    • WebSocket API:按 strm-js / API 文档处理对讲上行
  6. 停止时:关闭麦克风连接 → 关闭播放器 → 关闭媒体请求

步骤清单亦见 客户端编程基本流程 · 对讲

打开接口关键参数

{
"simNo": "13320200317",
"channel": 1,
"dataType": 2,
"proto": 0,
"async": false
}
参数说明
dataType必须为 2
channel逻辑通道号;部分厂商对讲不校验通道,部分要求固定通道(如 1 或 36),请咨询终端厂商
proto播放终端音频的客户端协议,通常用 FLV(0

应答中的对讲地址

字段说明
playUrl播放终端推来的音频
taUrl二进制 WebSocket,用于推送本端对讲音频(推荐
wsUrlSTOMP WebSocket,用于推送本端对讲音频(HTTP API 传统方式)

浏览器端注意事项

麦克风权限

  • 页面须通过 HTTPS 提供(localhost 除外)
  • 首次对讲需用户授权麦克风
  • 建议在 UI 上明确提示用户授权

音频采集与编码

  • 终端侧常见格式为 G711-A 等;客户端推送格式须符合媒体服务要求
  • 演示站实现可作为参考:对讲面板

协议版本(长短号)

部分终端在 JT/T 808-2019 下,对讲的报文中终端号仍用短号或长号,与协议版本不一致会导致对讲失败。演示站提供「协议选项」切换;生产环境依 Streaming 服务端配置 或厂商说明调整。

资源占用规则

来自 音视频请求的生命周期

  • 同通道已有 对讲 请求时,后续任何类型的实时打开均返回 -21
  • 同通道已有 任意实时请求 时,新的 对讲 打开返回 -21
  • 关闭对讲后,通道方可再次打开

常见问题

现象可能原因处理
返回 -21通道已被占用先关闭已有播放/对讲
能听到终端,终端听不到本端未连接 taUrl / 麦克风未授权检查 WebSocket 与 getUserMedia
完全无声音终端未推流或 playUrl 未加载确认 ready 后再播放
2019 协议终端对讲失败长短号不匹配调整协议选项或服务端配置
请求被自动关闭未调用 keep_alive每 15 秒保活

更多排错见 常见问题与排错

体验与参考