| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724 |
- <!doctype html>
- <html class="default no-js">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Client | @urtc/sdk-web</title>
- <meta name="description" content="Documentation for @urtc/sdk-web">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="stylesheet" href="../assets/css/main.css">
- <script async src="../assets/js/search.js" id="search-script"></script>
- </head>
- <body>
- <header>
- <div class="tsd-page-toolbar">
- <div class="container">
- <div class="table-wrap">
- <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
- <div class="field">
- <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
- <input id="tsd-search-field" type="text" />
- </div>
- <ul class="results">
- <li class="state loading">Preparing search index...</li>
- <li class="state failure">The search index is not available</li>
- </ul>
- <a href="../index.html" class="title">@urtc/sdk-web</a>
- </div>
- <div class="table-cell" id="tsd-widgets">
- <div id="tsd-filter">
- <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
- <div class="tsd-filter-group">
- <div class="tsd-select" id="tsd-filter-visibility">
- <span class="tsd-select-label">All</span>
- <ul class="tsd-select-list">
- <li data-value="public">Public</li>
- <li data-value="protected">Public/Protected</li>
- <li data-value="private" class="selected">All</li>
- </ul>
- </div>
- <input type="checkbox" id="tsd-filter-inherited" checked />
- <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
- <input type="checkbox" id="tsd-filter-externals" checked />
- <label class="tsd-widget" for="tsd-filter-externals">Externals</label>
- </div>
- </div>
- <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
- </div>
- </div>
- </div>
- </div>
- <div class="tsd-page-title">
- <div class="container">
- <ul class="tsd-breadcrumb">
- <li>
- <a href="../index.html">@urtc/sdk-web</a>
- </li>
- <li>
- <a href="client.html">Client</a>
- </li>
- </ul>
- <h1>Class Client</h1>
- </div>
- </div>
- </header>
- <div class="container container-main">
- <div class="row">
- <div class="col-8 col-content">
- <section class="tsd-panel tsd-comment">
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>4 plugin</p>
- </div>
- </div>
- </section>
- <section class="tsd-panel tsd-hierarchy">
- <h3>Hierarchy</h3>
- <ul class="tsd-hierarchy">
- <li>
- <span class="target">Client</span>
- </li>
- </ul>
- </section>
- <section class="tsd-panel-group tsd-index-group">
- <h2>Index</h2>
- <section class="tsd-panel tsd-index-panel">
- <div class="tsd-index-content">
- <section class="tsd-index-section ">
- <h3>Methods</h3>
- <ul class="tsd-index-list">
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#getlocalstreams" class="tsd-kind-icon">get<wbr>Local<wbr>Streams</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#getremotestreams" class="tsd-kind-icon">get<wbr>Remote<wbr>Streams</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#getremoteusers" class="tsd-kind-icon">get<wbr>Remote<wbr>Users</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#join" class="tsd-kind-icon">join</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#leave" class="tsd-kind-icon">leave</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter"><a href="client.html#off" class="tsd-kind-icon">off</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter"><a href="client.html#on" class="tsd-kind-icon">on</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#publish" class="tsd-kind-icon">publish</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#setrole" class="tsd-kind-icon">set<wbr>Role</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#subscribe" class="tsd-kind-icon">subscribe</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#unpublish" class="tsd-kind-icon">unpublish</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><a href="client.html#unsubscribe" class="tsd-kind-icon">unsubscribe</a></li>
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><a href="client.html#use" class="tsd-kind-icon">use</a></li>
- </ul>
- </section>
- </div>
- </section>
- </section>
- <section class="tsd-panel-group tsd-member-group ">
- <h2>Methods</h2>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="getlocalstreams" class="tsd-anchor"></a>
- <h3>get<wbr>Local<wbr>Streams</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">get<wbr>Local<wbr>Streams<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a><span class="tsd-signature-symbol">[]</span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>获取当前 Client 已发布的本地流</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">localStreams</span><span style="color: #000000"> = </span><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">getLocalStreams</span><span style="color: #000000">();</span>
- </code></pre>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-returns-title">Returns <a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a><span class="tsd-signature-symbol">[]</span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="getremotestreams" class="tsd-anchor"></a>
- <h3>get<wbr>Remote<wbr>Streams</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Streams<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a><span class="tsd-signature-symbol">[]</span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>获取当前 Client 已接收到的远端流(包含已订阅或未订阅的远端流)</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">remoteStreams</span><span style="color: #000000"> = </span><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">getRemoteStreams</span><span style="color: #000000">();</span>
- </code></pre>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-returns-title">Returns <a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a><span class="tsd-signature-symbol">[]</span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="getremoteusers" class="tsd-anchor"></a>
- <h3>get<wbr>Remote<wbr>Users</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">get<wbr>Remote<wbr>Users<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="user.html" class="tsd-signature-type" data-tsd-kind="Class">User</a><span class="tsd-signature-symbol">[]</span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>获取远端用户信息</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">users</span><span style="color: #000000"> = </span><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">getRemoteUsers</span><span style="color: #000000">();</span>
- </code></pre>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-returns-title">Returns <a href="user.html" class="tsd-signature-type" data-tsd-kind="Class">User</a><span class="tsd-signature-symbol">[]</span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="join" class="tsd-anchor"></a>
- <h3>join</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">join<span class="tsd-signature-symbol">(</span>roomId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, userId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, token<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, opts<span class="tsd-signature-symbol">?: </span><a href="../interfaces/joinoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">JoinOptions</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>加入房间</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">remoteStreams</span><span style="color: #000000"> = </span><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">getRemoteStreams</span><span style="color: #000000">();</span>
- <span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">join</span><span style="color: #000000">(</span><span style="color: #A31515">'roomIdxxx'</span><span style="color: #000000">, </span><span style="color: #A31515">'userIdxxx'</span><span style="color: #000000">, </span><span style="color: #A31515">'tokenxxx'</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(() </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`加入房间成功`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> </span><span style="color: #008000">// client.publish(localStream);</span>
- <span style="color: #000000"> })</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`加入房间失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- <dt>reject</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>roomId: <span class="tsd-signature-type">string</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>房间ID</p>
- </div>
- </li>
- <li>
- <h5>userId: <span class="tsd-signature-type">string</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>用户ID</p>
- </div>
- </li>
- <li>
- <h5>token: <span class="tsd-signature-type">string</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>由 AppId,AppKey,RoomId,UserId 生成的令牌</p>
- </div>
- </li>
- <li>
- <h5><span class="tsd-flag ts-flagOptional">Optional</span> opts: <a href="../interfaces/joinoptions.html" class="tsd-signature-type" data-tsd-kind="Interface">JoinOptions</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>其他选项</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="leave" class="tsd-anchor"></a>
- <h3>leave</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">leave<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>离开房间</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">leave</span><span style="color: #000000">()</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(() </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`离开房间成功`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> })</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`离开房间失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <a name="off" class="tsd-anchor"></a>
- <h3>off</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <li class="tsd-signature tsd-kind-icon">off<T><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, listener<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Listener</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="client.html" class="tsd-signature-type" data-tsd-kind="Class">Client</a></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>取消监听 Client 对象的事件</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">off</span><span style="color: #000000">(</span><span style="color: #A31515">'stream-added'</span><span style="color: #000000">, </span><span style="color: #001080">handleStreamAdded</span><span style="color: #000000">);</span>
- </code></pre>
- <p><strong>特别地,一次性取消对所有事件的监听</strong></p>
- </dd>
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">off</span><span style="color: #000000">(</span><span style="color: #A31515">'*'</span><span style="color: #000000">);</span>
- </code></pre>
- </dd>
- <dt>throws</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-type-parameters-title">Type parameters</h4>
- <ul class="tsd-type-parameters">
- <li>
- <h4>T<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">"user-joined"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"user-left"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"kick-off"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-added"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-removed"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-subscribed"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-published"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-reconnecting"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"stream-reconnected"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mute-audio"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"unmute-audio"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mute-video"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"unmute-video"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"first-key-frame"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"screen-sharing-stopped"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"connection-state-changed"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"network-quality"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"player-status-change"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"*"</span></h4>
- </li>
- </ul>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>type: <span class="tsd-signature-type">T</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>事件类型,特别的,可以使用 * 来一次性取消对所有事件的监听</p>
- </div>
- </li>
- <li>
- <h5><span class="tsd-flag ts-flagOptional">Optional</span> listener: <span class="tsd-signature-type">Listener</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></h5>
- <div class="tsd-comment tsd-typography">
- <p>事件监听函数</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <a href="client.html" class="tsd-signature-type" data-tsd-kind="Class">Client</a></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <a name="on" class="tsd-anchor"></a>
- <h3>on</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <li class="tsd-signature tsd-kind-icon">on<T><span class="tsd-signature-symbol">(</span>type<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">T</span>, listener<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Listener</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="client.html" class="tsd-signature-type" data-tsd-kind="Class">Client</a></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>监听 Client 对象的事件</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #795E26">handleStreamAdded</span><span style="color: #000000"> = (</span><span style="color: #001080">event</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">subscribe</span><span style="color: #000000">(</span><span style="color: #001080">event</span><span style="color: #000000">.</span><span style="color: #001080">data</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`订阅失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- <span style="color: #000000">}</span>
- <span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">on</span><span style="color: #000000">(</span><span style="color: #A31515">'stream-added'</span><span style="color: #000000">, </span><span style="color: #001080">handleStreamAdded</span><span style="color: #000000">);</span>
- </code></pre>
- </dd>
- <dt>throws</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-type-parameters-title">Type parameters</h4>
- <ul class="tsd-type-parameters">
- <li>
- <h4>T<span class="tsd-signature-symbol">: </span><a href="../index.html#rtceventtype" class="tsd-signature-type" data-tsd-kind="Type alias">RtcEventType</a></h4>
- </li>
- </ul>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>type: <span class="tsd-signature-type">T</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>事件类型</p>
- </div>
- </li>
- <li>
- <h5>listener: <span class="tsd-signature-type">Listener</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">T</span><span class="tsd-signature-symbol">></span></h5>
- <div class="tsd-comment tsd-typography">
- <p>事件监听函数</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <a href="client.html" class="tsd-signature-type" data-tsd-kind="Class">Client</a></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="publish" class="tsd-anchor"></a>
- <h3>publish</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">publish<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>发布一条本地流</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">publish</span><span style="color: #000000">(</span><span style="color: #001080">localStream</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`发布失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- <dt>reject</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>stream: <a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>需要被发布的本地流</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="setrole" class="tsd-anchor"></a>
- <h3>set<wbr>Role</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">set<wbr>Role<span class="tsd-signature-symbol">(</span>role<span class="tsd-signature-symbol">: </span><a href="../index.html#roletype" class="tsd-signature-type" data-tsd-kind="Type alias">RoleType</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>修改用户角色</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span><span style="color: #000000">.</span><span style="color: #795E26">setRole</span><span style="color: #000000">(</span><span style="color: #A31515">'push'</span><span style="color: #000000">);</span>
- </code></pre>
- </dd>
- <dt>throws</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>role: <a href="../index.html#roletype" class="tsd-signature-type" data-tsd-kind="Type alias">RoleType</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>用户角色</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="subscribe" class="tsd-anchor"></a>
- <h3>subscribe</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">subscribe<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>订阅一条远端流</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">subscribe</span><span style="color: #000000">(</span><span style="color: #001080">remoteStream</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`订阅失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- <dt>reject</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>stream: <a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>需要被订阅的远端流</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="unpublish" class="tsd-anchor"></a>
- <h3>unpublish</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">unpublish<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>取消发布一条本地流</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">unpublish</span><span style="color: #000000">(</span><span style="color: #001080">localStream</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">then</span><span style="color: #000000">(() </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">'取消发布成功'</span><span style="color: #000000">);</span>
- <span style="color: #000000"> </span><span style="color: #008000">// localStream.destroy();</span>
- <span style="color: #000000"> })</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`取消发布失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- <dt>reject</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>stream: <a href="localstream.html" class="tsd-signature-type" data-tsd-kind="Class">LocalStream</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>需要取消发布的本地流</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
- <a name="unsubscribe" class="tsd-anchor"></a>
- <h3>unsubscribe</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
- <li class="tsd-signature tsd-kind-icon">unsubscribe<span class="tsd-signature-symbol">(</span>stream<span class="tsd-signature-symbol">: </span><a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>取消订阅一条远端流</p>
- </div>
- <dl class="tsd-comment-tags">
- <dt>example</dt>
- <dd><pre><code class="language-js"><span style="color: #001080">client</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">unsubscribe</span><span style="color: #000000">(</span><span style="color: #001080">remoteStream</span><span style="color: #000000">)</span>
- <span style="color: #000000"> .</span><span style="color: #795E26">catch</span><span style="color: #000000">((</span><span style="color: #001080">err</span><span style="color: #000000">) </span><span style="color: #0000FF">=></span><span style="color: #000000"> {</span>
- <span style="color: #000000"> </span><span style="color: #001080">console</span><span style="color: #000000">.</span><span style="color: #795E26">log</span><span style="color: #000000">(</span><span style="color: #A31515">`取消订阅失败 </span><span style="color: #0000FF">${</span><span style="color: #001080">err</span><span style="color: #0000FF">}</span><span style="color: #A31515">`</span><span style="color: #000000">);</span>
- <span style="color: #000000"> });</span>
- </code></pre>
- </dd>
- <dt>reject</dt>
- <dd><p><a href="rtcerror.html">RtcError</a></p>
- </dd>
- </dl>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>stream: <a href="remotestream.html" class="tsd-signature-type" data-tsd-kind="Class">RemoteStream</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>需要取消订阅的远端流</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
- </li>
- </ul>
- </section>
- <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-static">
- <a name="use" class="tsd-anchor"></a>
- <h3><span class="tsd-flag ts-flagStatic">Static</span> use</h3>
- <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-static">
- <li class="tsd-signature tsd-kind-icon">use<span class="tsd-signature-symbol">(</span>plugin<span class="tsd-signature-symbol">: </span><a href="../interfaces/clientplugin.html" class="tsd-signature-type" data-tsd-kind="Interface">ClientPlugin</a>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
- </ul>
- <ul class="tsd-descriptions">
- <li class="tsd-description">
- <aside class="tsd-sources">
- </aside>
- <div class="tsd-comment tsd-typography">
- <div class="lead">
- <p>加载 Client 插件,使用插件功能</p>
- </div>
- </div>
- <h4 class="tsd-parameters-title">Parameters</h4>
- <ul class="tsd-parameters">
- <li>
- <h5>plugin: <a href="../interfaces/clientplugin.html" class="tsd-signature-type" data-tsd-kind="Interface">ClientPlugin</a></h5>
- <div class="tsd-comment tsd-typography">
- <p>插件</p>
- </div>
- </li>
- <li>
- <h5><span class="tsd-flag ts-flagOptional">Optional</span> options: <span class="tsd-signature-type">any</span></h5>
- <div class="tsd-comment tsd-typography">
- <p>插件初始化参数</p>
- </div>
- </li>
- </ul>
- <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
- </li>
- </ul>
- </section>
- </section>
- </div>
- <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
- <nav class="tsd-navigation primary">
- <ul>
- <li class=" ">
- <a href="../index.html">Exports</a>
- </li>
- </ul>
- </nav>
- <nav class="tsd-navigation secondary menu-sticky">
- <ul class="before-current">
- </ul>
- <ul class="current">
- <li class="current tsd-kind-class">
- <a href="client.html" class="tsd-kind-icon">Client</a>
- <ul>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#getlocalstreams" class="tsd-kind-icon">get<wbr>Local<wbr>Streams</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#getremotestreams" class="tsd-kind-icon">get<wbr>Remote<wbr>Streams</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#getremoteusers" class="tsd-kind-icon">get<wbr>Remote<wbr>Users</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#join" class="tsd-kind-icon">join</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#leave" class="tsd-kind-icon">leave</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <a href="client.html#off" class="tsd-kind-icon">off</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class tsd-has-type-parameter">
- <a href="client.html#on" class="tsd-kind-icon">on</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#publish" class="tsd-kind-icon">publish</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#setrole" class="tsd-kind-icon">set<wbr>Role</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#subscribe" class="tsd-kind-icon">subscribe</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#unpublish" class="tsd-kind-icon">unpublish</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class">
- <a href="client.html#unsubscribe" class="tsd-kind-icon">unsubscribe</a>
- </li>
- <li class=" tsd-kind-method tsd-parent-kind-class tsd-is-static">
- <a href="client.html#use" class="tsd-kind-icon">use</a>
- </li>
- </ul>
- </li>
- </ul>
- <ul class="after-current">
- </ul>
- </nav>
- </div>
- </div>
- </div>
- <footer class="with-border-bottom">
- <div class="container">
- <h2>Legend</h2>
- <div class="tsd-legend-group">
- <ul class="tsd-legend">
- <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
- <li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
- <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
- </ul>
- <ul class="tsd-legend">
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
- </ul>
- <ul class="tsd-legend">
- <li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
- <li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
- </ul>
- <ul class="tsd-legend">
- <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
- </ul>
- </div>
- </div>
- </footer>
- <div class="container tsd-generator">
- <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
- </div>
- <div class="overlay"></div>
- <script src="../assets/js/main.js"></script>
- </body>
- </html>
|