1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
---
title: RTCSessionDescription
slug: Web/API/RTCSessionDescription
translation_of: Web/API/RTCSessionDescription
---
<p>{{APIRef("WebRTC")}}{{SeeCompatTable}}</p>
<p><strong><code>RTCSessionDescription</code></strong> 接口描述连接或潜在连接的一端的配置方式。 每一个<code>RTCSessionDescription</code> 由一个描述类型组成,该描述类型指示它所描述的请求/应答协商过程的{{Glossary("SDP")}} 协议的相关描述。</p>
<p><code>RTCSessionDescription</code> 在两个对等点之间协商连接的过程涉及来回交换对象,每个描述都表示描述的发送者支持的连接配置选项的一个组合。一旦两个对等方就连接的配置达成一致,协商就完成了。</p>
<h2 id="属性">属性</h2>
<p><em><code>RTCSessionDescription</code> 接口不继承任何属性 </em></p>
<dl>
<dt>{{domxref("RTCSessionDescription.type")}} {{ReadOnlyInline}}</dt>
<dd><code>{{anch("RTCSdpType")}}</code> 会话描述类型的原型枚举。</dd>
</dl>
<dl>
<dt>{{domxref("RTCSessionDescription.sdp")}} {{ReadOnlyInline}}</dt>
<dd>一个 {{domxref("DOMString")}} 包含会话的{{Glossary("SDP")}}协议描述。</dd>
</dl>
<h2 id="常数">常数</h2>
<h3 id="RTCSdpType">RTCSdpType</h3>
<p>当前枚举值定义当前会话描述的状态,例如这个属性: {{domxref("RTCSessionDescription.type", "type")}} 。 会话描述的值将使用如下值之一。</p>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Value</th>
<th scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>answer</code></td>
<td>SDP协议请求内容包含在属性{{domxref("RTCSessionDescription.sdp", "sdp")}}中。 换言之,此会话描述描述了商定的配置,并将被发送以完成协商。.</td>
</tr>
<tr>
<td><code>offer</code></td>
<td>该会话描述对象描述首次握手的请求/响应。会话过程从发送方到接收方。</td>
</tr>
<tr>
<td><code>pranswer</code></td>
<td>会话描述对象描述一个临时响应;也就是说,它是对以前的提议或临时答案的响应。</td>
</tr>
<tr>
<td><code>rollback</code></td>
<td>具有空会话描述的这种特殊类型用于回滚到以前的稳定状态。</td>
</tr>
</tbody>
</table>
<h2 id="方法">方法</h2>
<p><em><code>RTCSessionDescription</code> 不继承任何方法。</em></p>
<dl>
<dt>{{domxref("RTCSessionDescription.RTCSessionDescription", "RTCSessionDescription()")}} {{deprecated_inline}}</dt>
<dd>该构造函数返回一个新的<code>RTCSessionDescription对象</code>。参数是 <code>RTCSessionDescriptionInit</code> 字典包含包含分配这两个属性的值。</dd>
<dt>{{domxref("RTCSessionDescription.toJSON()")}}</dt>
<dd>返回一个{{Glossary("JSON")}} 描述对象. 该对象包含两个值, {{domxref("RTCSessionDescription.type", "type")}} 和{{domxref("RTCSessionDescription.sdp", "sdp")}}。</dd>
</dl>
<h2 id="Example">Example<span id="cke_bm_72C" class="hidden"> </span></h2>
<pre class="brush: js">signalingChannel.onmessage = function (evt) {
if (!pc)
start(false);
var message = JSON.parse(evt.data);
if (message.sdp)
pc.setRemoteDescription(new RTCSessionDescription(message), function () {
// if we received an offer, we need to answer
if (pc.remoteDescription.type == "offer")
pc.createAnswer(localDescCreated, logError);
}, logError);
else
pc.addIceCandidate(new RTCIceCandidate(message.candidate),
function () {}, logError);
};
</pre>
<h2 id="Specifications">Specifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{ SpecName('WebRTC 1.0', '#rtcsessiondescription-class', 'RTCSessionDescription') }}</td>
<td>{{Spec2('WebRTC 1.0')}}</td>
<td>Initial definition.</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<p>{{ CompatibilityTable() }}</p>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Edge</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{ CompatVersionUnknown }} {{property_prefix("-moz")}}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatVersionUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Edge</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatNo() }}</td>
<td>{{ CompatUnknown() }}</td>
<td>{{ CompatUnknown() }}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="See_also">See also</h2>
<ul>
<li><a href="/en-US/docs/Web/Guide/API/WebRTC" title="/en-US/docs/CSS/Using_CSS_animations">WebRTC</a></li>
<li>{{domxref("RTCPeerConnection.setLocalDescription()")}} and {{domxref("RTCPeerConnection.setRemoteDescription()")}}</li>
</ul>
|