newConsumer
<h5>简要描述</h5>
<ul>
<li>用户进入房间以后, 信令服务器会下发房间现有用户/新进房间用户的订阅信息给当前用户</li>
<li>用户收到newConsumer消息以后,通过服务器下发的rtpParameters进行pc->setRemoteDescription以及pc->CreateAnswer操作与远端用户进行sdp交换</li>
<li>以上操作均成功以后,会生成mediasoupclient::Consumer 对象,程序将这个对象指针保存起来用于后续对其管理操作。</li>
</ul>
<h5>请求方式</h5>
<ul>
<li>Websocket.Send</li>
</ul>
<h5>参数</h5>
<p><a href="https://www.showdoc.com.cn/1591639269927039/7912937086999827" title="通用协议部分点击这里查看">通用协议部分点击这里查看</a></p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">rtpParameters.codecs</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">{}</td>
<td>新的订阅数据所使用的编码信息</td>
</tr>
<tr>
<td style="text-align: left;">rtpParameters.headerExtensions</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">{}</td>
<td>新的订阅数据所使用的标头信息</td>
</tr>
<tr>
<td style="text-align: left;">rtpParameters.encodings</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">{}</td>
<td>新的订阅数据所使用的分层传输信息</td>
</tr>
<tr>
<td style="text-align: left;">rtpParameters.rtcp</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">{}</td>
<td>新的订阅数据所使用的实时传输控制协议信息</td>
</tr>
<tr>
<td style="text-align: left;">rtpParameters.mid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">int</td>
<td>新的订阅数据所使用的分层传输ID</td>
</tr>
<tr>
<td style="text-align: left;">type</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>新的订阅用户类型</td>
</tr>
<tr>
<td style="text-align: left;">appData</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">{}</td>
<td>新的订阅用户信息</td>
</tr>
<tr>
<td style="text-align: left;">producerPaused</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">bool</td>
<td>订阅数据是否已被暂停</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code>{
"data": {
"appData": {
"peerId": "qprlm6yu"
},
"id": "8791fce3-31e6-4e89-89af-2da8ee91120c",
"kind": "audio",
"peerId": "qprlm6yu",
"producerId": "4ee7126d-e653-4210-839e-15bdd113d5cc",
"producerPaused": false,
"rtpParameters": {
"codecs": [
{
"channels": 2,
"clockRate": 48000,
"mimeType": "audio/opus",
"parameters": {
"minptime": 10,
"sprop-stereo": 1,
"usedtx": 1,
"useinbandfec": 1
},
"payloadType": 100,
"rtcpFeedback": []
}
],
"encodings": [
{
"ssrc": 947885922
}
],
"headerExtensions": [
{
"encrypt": false,
"id": 1,
"parameters": {},
"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
},
{
"encrypt": false,
"id": 4,
"parameters": {},
"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
},
{
"encrypt": false,
"id": 10,
"parameters": {},
"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
}
],
"mid": "0",
"rtcp": {
"cname": "DfVaONMTIVyQ3fx4",
"mux": true,
"reducedSize": true
}
},
"type": "simple"
},
"id": 6161510,
"method": "newConsumer",
"peerId": "adfaa0af-0504-4050-9298-644e455f7053",
"request": true,
"roomId": "c09a36b8-4ac3-43fa-b6f1-da5d1c659c20"
}</code></pre>
<h5>返回示例</h5>
<pre><code>{
"data": null,
"id": 1383697,
"ok": true,
"response": true
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<p>(空消息体)</p>
<h5>备注</h5>
<ul>
<li>
<p>注意, 该通知消息比较特殊, 前端必须作出回复, 否则服务器会因流程走不通挂掉.</p>
</li>
<li>更多返回错误代码请看首页的错误代码描述</li>
</ul>