媒体变更
约 1125 字大约 4 分钟
2026-10-16
先读控制公共规则,再按 Topic、method 和方向查阅。应用侧使用鉴权命令提交、事件拉取与确认;事件结构不表示已启用 WebSocket 推送。能力可用性见支持范围。
mediaUpdate · SIG↑
- 方向:设备→平台;应答:mediaUpdated。
- 触发、权限与状态:平台先校验轨、源权限和编解码,返回pending计划;端随后mediaOffer/Answer完成重协商,再以trackState报告实际状态。replace新轨必须新trackId;停旧摄像头后才启新源,撤权立即停发,不等待SDP。音频升级视频需对端明确同意,不因对端有摄像头默认同意。
- 超时、幂等、迟到及清理采用本页公共行为和公共约定;成功应答不能代替独立完成状态。
- 场景:视频升级摄像头切换与屏幕共享、后台休眠弱网与状态同步。
计划修订不匹配返回原请求 msgToken 的 mediaUpdated(code=409,data={reason:"staleRevision",currentRevision:…});修订匹配但前一计划未结束则为 reason:"updatePending"。409不带成功形态的 state/tracks,不关闭主通话。相同 token 和正文重放原结果,不能自动换 token 重做动作。
| 字段 | 类型 | 必填条件 | 值与含义 |
|---|---|---|---|
| operation | string | 必填 | add/remove/replace/setQuality |
| expectedRevision | uint | 必填 | 媒体计划修订号 |
| tracks | Track[] | add/replace必填 | 新轨含sourceType |
| trackIds | string[] | replace/remove/setQuality必填 | 目标轨 |
| consentIds | string[] | 新增屏幕/摄像头必填 | 新源授权 |
| profile | string | setQuality必填 | audioOnly/low/standard/high |
{
"msgToken": "s14-20",
"method": "mediaUpdate",
"sessionId": "s14-session",
"params": {
"operation": "add",
"expectedRevision": 0,
"tracks": [
{
"trackId": "video-new",
"kind": "video",
"sourceId": "front",
"sourceType": "camera",
"direction": "sendonly",
"codec": "H264",
"state": "requested"
}
],
"consentIds": [
"camera-consent",
"peer-video-consent"
]
}
}对应视频升级摄像头切换与屏幕共享:M01;其他操作按条件字段校验。
mediaUpdated · SIG↓
- 方向:平台→设备;应答:—。
- 触发、权限与状态:应答pending不是媒体已变更;15秒协商失败后failed,旧合法轨可继续;被撤权的轨不得回滚恢复。applied仅在端状态和平台观测一致后发。仅质量约束且不改SDP时保持mediaRevision。
- 超时、幂等、迟到及清理采用本页公共行为和公共约定;成功应答不能代替独立完成状态。
- 场景:视频升级摄像头切换与屏幕共享、后台休眠弱网与状态同步。
IPC setQuality 当前区分:pending 是原 token、code=200、无事件水位的受理应答;applied/failed 是独立 msgToken、无 code、带 eventSeq 和原 requestToken 的终态事件。端侧编码器读回只证明约束已接受,不证明现场画质、实际码率或硬件驱动验收;平台以匹配原计划的逐轨事实收敛,不宣称独立测量了端侧编码参数。失败只携带 state/revision/requestToken/reason,不携带成功形态的 tracks/mediaRevision。当前公开质量原因是 qualityFailed/qualityUnsupported/qualityTimeout。
| 字段 | 类型 | 必填条件 | 值与含义 |
|---|---|---|---|
| state | string | 必填 | pending/applied/failed |
| revision | uint | 必填 | 媒体计划修订号 |
| mediaRevision | uint | pending/applied必填 | 将使用或已使用的Peer代次 |
| tracks | Track[] | pending/applied必填 | 本操作影响集合中仍保留的确认轨,remove可为空;不覆盖无关轨 |
| reason | string | failed必填 | 原因 |
| requestToken | string | 后续事件必填 | 关联原计划请求 |
{
"msgToken": "s14-20",
"method": "mediaUpdated",
"sessionId": "s14-session",
"data": {
"state": "pending",
"revision": 1,
"mediaRevision": 2,
"tracks": [
{
"trackId": "video-new",
"kind": "video",
"sourceId": "front",
"sourceType": "camera",
"direction": "sendonly",
"codec": "H264",
"state": "requested"
}
],
"requestToken": "s14-20"
},
"code": 200
}对应视频升级摄像头切换与屏幕共享:M02;其他操作按条件字段校验。
更新日志
2026/10/17 03:27
查看所有更新日志
d04e1-docs(AI与音视频): 按公共主线与场景分支整合接入手册于
