@realsee/live 0.7.4 → 0.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Live | 如视 Live SDK</title><meta name="description" content="Documentation for 如视 Live SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></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">如视 Live SDK</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视 Live SDK</a></li><li><a href="Live.html">Live</a></li></ul><h1> ClassLive&lt;KeyframesSnapshot&gt;</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>Live 带看实例类</p>
2
2
  <p>这是带看功能的核心类,负责管理 WebSocket 连接、帧数据同步、RTC 语音通信等功能。
3
3
  通过 Yjs 实现帧数据的协同编辑和同步。</p>
4
- </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example" class="tsd-anchor"></a>Example<a href="#Example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 定义帧数据类型</span><br/><span class="hl-6">interface</span><span class="hl-2"> </span><span class="hl-9">MyKeyframes</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">camera</span><span class="hl-2">: { </span><span class="hl-5">position</span><span class="hl-2">: [</span><span class="hl-9">number</span><span class="hl-2">, </span><span class="hl-9">number</span><span class="hl-2">, </span><span class="hl-9">number</span><span class="hl-2">] }</span><br/><span class="hl-2"> </span><span class="hl-5">annotation</span><span class="hl-2">: { </span><span class="hl-5">text</span><span class="hl-2">: </span><span class="hl-9">string</span><span class="hl-2">; </span><span class="hl-5">position</span><span class="hl-2">: [</span><span class="hl-9">number</span><span class="hl-2">, </span><span class="hl-9">number</span><span class="hl-2">] }</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 创建 Live 实例</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">&lt;</span><span class="hl-9">MyKeyframes</span><span class="hl-2">&gt;({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;your-ticket&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> (</span><span class="hl-5">params</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> ({ </span><span class="hl-5">sdkAppId:</span><span class="hl-2"> </span><span class="hl-8">0</span><span class="hl-2">, </span><span class="hl-5">userId:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2">, </span><span class="hl-5">userSig:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2">, </span><span class="hl-5">roomId:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2"> }),</span><br/><span class="hl-2"> </span><span class="hl-5">useBuiltInRTC:</span><span class="hl-2"> </span><span class="hl-6">true</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 监听状态变化</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">on</span><span class="hl-2">(</span><span class="hl-3">&#39;stateChange&#39;</span><span class="hl-2">, (</span><span class="hl-5">state</span><span class="hl-2">, </span><span class="hl-5">prevState</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`状态从 </span><span class="hl-6">${</span><span class="hl-5">prevState</span><span class="hl-6">}</span><span class="hl-3"> 变为 </span><span class="hl-6">${</span><span class="hl-5">state</span><span class="hl-6">}</span><span class="hl-3">`</span><span class="hl-2">)</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 连接带看</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">()</span>
4
+ </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example" class="tsd-anchor"></a>Example<a href="#Example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 定义帧数据类型</span><br/><span class="hl-6">interface</span><span class="hl-2"> </span><span class="hl-7">MyKeyframes</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">camera</span><span class="hl-2">: { </span><span class="hl-5">position</span><span class="hl-2">: [</span><span class="hl-7">number</span><span class="hl-2">, </span><span class="hl-7">number</span><span class="hl-2">, </span><span class="hl-7">number</span><span class="hl-2">] }</span><br/><span class="hl-2"> </span><span class="hl-5">annotation</span><span class="hl-2">: { </span><span class="hl-5">text</span><span class="hl-2">: </span><span class="hl-7">string</span><span class="hl-2">; </span><span class="hl-5">position</span><span class="hl-2">: [</span><span class="hl-7">number</span><span class="hl-2">, </span><span class="hl-7">number</span><span class="hl-2">] }</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 创建 Live 实例</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">&lt;</span><span class="hl-7">MyKeyframes</span><span class="hl-2">&gt;({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;your-ticket&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> (</span><span class="hl-5">params</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> ({ </span><span class="hl-5">sdkAppId:</span><span class="hl-2"> </span><span class="hl-9">0</span><span class="hl-2">, </span><span class="hl-5">userId:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2">, </span><span class="hl-5">userSig:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2">, </span><span class="hl-5">roomId:</span><span class="hl-2"> </span><span class="hl-3">&#39;&#39;</span><span class="hl-2"> }),</span><br/><span class="hl-2"> </span><span class="hl-5">useBuiltInRTC:</span><span class="hl-2"> </span><span class="hl-6">true</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 监听状态变化</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">on</span><span class="hl-2">(</span><span class="hl-3">&#39;stateChange&#39;</span><span class="hl-2">, (</span><span class="hl-5">state</span><span class="hl-2">, </span><span class="hl-5">prevState</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`状态从 </span><span class="hl-6">${</span><span class="hl-5">prevState</span><span class="hl-6">}</span><span class="hl-3"> 变为 </span><span class="hl-6">${</span><span class="hl-5">state</span><span class="hl-6">}</span><span class="hl-3">`</span><span class="hl-2">)</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 连接带看</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">()</span>
5
5
  </code><button type="button">Copy</button></pre>
6
6
 
7
7
  </div></div></section> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="KeyframesSnapshot" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">KeyframesSnapshot</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>帧数据快照类型,必须是一个对象类型</p>
@@ -54,7 +54,7 @@
54
54
  <li>autoPlayConfirm: 自动播放确认回调(使用 BrowserRTC 时可能需要)</li>
55
55
  <li><strong>debug</strong>: 是否开启调试模式(会在控制台打印日志)</li>
56
56
  </ul>
57
- </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Live.html" class="tsd-signature-type tsd-kind-class">Live</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-1" class="tsd-anchor"></a>Example<a href="#Example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 基础用法</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/get-ticket&#39;</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">response</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">().</span><span class="hl-5">ticket</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> (</span><span class="hl-5">params</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/get-voice-sign&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">method:</span><span class="hl-2"> </span><span class="hl-3">&#39;POST&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">body:</span><span class="hl-2"> </span><span class="hl-7">JSON</span><span class="hl-2">.</span><span class="hl-1">stringify</span><span class="hl-2">(</span><span class="hl-5">params</span><span class="hl-2">)</span><br/><span class="hl-2"> })</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">response</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">()</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-5">useBuiltInRTC:</span><span class="hl-2"> </span><span class="hl-6">true</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 使用自定义 RTC</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">customRTC</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">MyCustomRTC</span><span class="hl-2">()</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">rtc:</span><span class="hl-2"> </span><span class="hl-5">customRTC</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;ticket&#39;</span><br/><span class="hl-2">})</span>
57
+ </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <a href="Live.html" class="tsd-signature-type tsd-kind-class">Live</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span></h4><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-1" class="tsd-anchor"></a>Example<a href="#Example-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 基础用法</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/get-ticket&#39;</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">response</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">().</span><span class="hl-5">ticket</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> (</span><span class="hl-5">params</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/get-voice-sign&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">method:</span><span class="hl-2"> </span><span class="hl-3">&#39;POST&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">body:</span><span class="hl-2"> </span><span class="hl-8">JSON</span><span class="hl-2">.</span><span class="hl-1">stringify</span><span class="hl-2">(</span><span class="hl-5">params</span><span class="hl-2">)</span><br/><span class="hl-2"> })</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">response</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">()</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-5">useBuiltInRTC:</span><span class="hl-2"> </span><span class="hl-6">true</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 使用自定义 RTC</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">customRTC</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">MyCustomRTC</span><span class="hl-2">()</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">rtc:</span><span class="hl-2"> </span><span class="hl-5">customRTC</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;ticket&#39;</span><br/><span class="hl-2">})</span>
58
58
  </code><button type="button">Copy</button></pre>
59
59
 
60
60
  </div></div><aside class="tsd-sources"><p>Overrides <a href="Subscribe.html">Subscribe</a>.<a href="Subscribe.html#constructor">constructor</a></p><ul><li>Defined in live/live.ts:219</li></ul></aside></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Properties</h2></summary><section><section class="tsd-panel tsd-member"><a id="keyframes" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>keyframes</span><a href="#keyframes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><div class="tsd-signature"><span class="tsd-kind-property">keyframes</span><span class="tsd-signature-symbol">:</span> <a href="Subscribe.html" class="tsd-signature-type tsd-kind-class">Subscribe</a><span class="tsd-signature-symbol">&lt;</span><a href="../types/KeyframeEventType.html" class="tsd-signature-type tsd-kind-type-alias">KeyframeEventType</a><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = ...</span></div><div class="tsd-comment tsd-typography"><p>帧数据监听器</p>
@@ -73,17 +73,17 @@
73
73
  <div class="tsd-comment tsd-typography"><div class="tsd-tag-Deprecated"><h4 class="tsd-anchor-link"><a id="Deprecated" class="tsd-anchor"></a>Deprecated<a href="#Deprecated" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>请直接读取 state 属性字段,未来将移除该属性</p>
74
74
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:121</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="roomInfo" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>room<wbr/>Info</span><a href="#roomInfo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature" id="roomInfo.roomInfo-1"><span class="tsd-signature-keyword">get</span> roomInfo<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../types/RoomInfo.html" class="tsd-signature-type tsd-kind-type-alias">RoomInfo</a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取当前带看房间信息</p>
75
75
  </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../types/RoomInfo.html" class="tsd-signature-type tsd-kind-type-alias">RoomInfo</a></h4><p>房间信息对象,如果尚未获取则返回 undefined</p>
76
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-3" class="tsd-anchor"></a>Example<a href="#Example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">roomInfo</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">roomInfo</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">roomInfo</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;房间代码:&#39;</span><span class="hl-2">, </span><span class="hl-5">roomInfo</span><span class="hl-2">.</span><span class="hl-5">info</span><span class="hl-2">.</span><span class="hl-5">room_code</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;房间状态:&#39;</span><span class="hl-2">, </span><span class="hl-5">roomInfo</span><span class="hl-2">.</span><span class="hl-5">info</span><span class="hl-2">.</span><span class="hl-5">status</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
76
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-3" class="tsd-anchor"></a>Example<a href="#Example-3" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">roomInfo</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">roomInfo</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">roomInfo</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;房间代码:&#39;</span><span class="hl-2">, </span><span class="hl-5">roomInfo</span><span class="hl-2">.</span><span class="hl-5">info</span><span class="hl-2">.</span><span class="hl-5">room_code</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;房间状态:&#39;</span><span class="hl-2">, </span><span class="hl-5">roomInfo</span><span class="hl-2">.</span><span class="hl-5">info</span><span class="hl-2">.</span><span class="hl-5">status</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
77
77
  </code><button type="button">Copy</button></pre>
78
78
 
79
79
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:413</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="selfInfo" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>self<wbr/>Info</span><a href="#selfInfo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature" id="selfInfo.selfInfo-1"><span class="tsd-signature-keyword">get</span> selfInfo<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../types/UserInfo.html" class="tsd-signature-type tsd-kind-type-alias">UserInfo</a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取当前用户信息</p>
80
80
  </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../types/UserInfo.html" class="tsd-signature-type tsd-kind-type-alias">UserInfo</a></h4><p>当前用户信息对象,如果尚未获取则返回 undefined</p>
81
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-4" class="tsd-anchor"></a>Example<a href="#Example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">selfInfo</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">selfInfo</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;用户ID:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">id</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;麦克风状态:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">micro_status</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;用户权限:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">permission</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
81
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-4" class="tsd-anchor"></a>Example<a href="#Example-4" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">selfInfo</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">selfInfo</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;用户ID:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">id</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;麦克风状态:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">micro_status</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;用户权限:&#39;</span><span class="hl-2">, </span><span class="hl-5">selfInfo</span><span class="hl-2">.</span><span class="hl-5">permission</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
82
82
  </code><button type="button">Copy</button></pre>
83
83
 
84
84
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:379</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="snapshot" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>snapshot</span><a href="#snapshot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature" id="snapshot.snapshot-1"><span class="tsd-signature-keyword">get</span> snapshot<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取当前所有帧数据的快照</p>
85
85
  </div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span></h4><p>当前帧数据的部分快照对象</p>
86
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-5" class="tsd-anchor"></a>Example<a href="#Example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">snapshot</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">snapshot</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;当前相机位置:&#39;</span><span class="hl-2">, </span><span class="hl-5">snapshot</span><span class="hl-2">.</span><span class="hl-5">camera</span><span class="hl-2">)</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;当前标注:&#39;</span><span class="hl-2">, </span><span class="hl-5">snapshot</span><span class="hl-2">.</span><span class="hl-5">annotation</span><span class="hl-2">)</span>
86
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-5" class="tsd-anchor"></a>Example<a href="#Example-5" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">snapshot</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">snapshot</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;当前相机位置:&#39;</span><span class="hl-2">, </span><span class="hl-5">snapshot</span><span class="hl-2">.</span><span class="hl-5">camera</span><span class="hl-2">)</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;当前标注:&#39;</span><span class="hl-2">, </span><span class="hl-5">snapshot</span><span class="hl-2">.</span><span class="hl-5">annotation</span><span class="hl-2">)</span>
87
87
  </code><button type="button">Copy</button></pre>
88
88
 
89
89
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:245</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="state" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>state</span><a href="#state" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature" id="state.state-1"><span class="tsd-signature-keyword">get</span> state<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../enums/LiveState.html" class="tsd-signature-type tsd-kind-enum">LiveState</a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取当前带看连接状态</p>
@@ -93,7 +93,7 @@
93
93
  <div class="tsd-comment tsd-typography"><div class="tsd-tag-Deprecated"><h4 class="tsd-anchor-link"><a id="Deprecated-1" class="tsd-anchor"></a>Deprecated<a href="#Deprecated-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>带看不需要关注底层ws的相关信息,未来将移除</p>
94
94
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:130</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="userList" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>user<wbr/>List</span><a href="#userList" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature" id="userList.userList-1"><span class="tsd-signature-keyword">get</span> userList<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../types/UserInfo.html" class="tsd-signature-type tsd-kind-type-alias">UserInfo</a><span class="tsd-signature-symbol">[]</span></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取当前房间内的用户列表</p>
95
95
  </div><h4 class="tsd-returns-title">Returns <a href="../types/UserInfo.html" class="tsd-signature-type tsd-kind-type-alias">UserInfo</a><span class="tsd-signature-symbol">[]</span></h4><p>用户信息数组,如果尚未获取则返回空数组</p>
96
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-6" class="tsd-anchor"></a>Example<a href="#Example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">users</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">userList</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`房间内有 </span><span class="hl-6">${</span><span class="hl-5">users</span><span class="hl-10">.</span><span class="hl-5">length</span><span class="hl-6">}</span><span class="hl-3"> 个用户`</span><span class="hl-2">)</span><br/><span class="hl-5">users</span><span class="hl-2">.</span><span class="hl-1">forEach</span><span class="hl-2">(</span><span class="hl-5">user</span><span class="hl-2"> </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`用户 </span><span class="hl-6">${</span><span class="hl-5">user</span><span class="hl-10">.</span><span class="hl-5">id</span><span class="hl-6">}</span><span class="hl-3"> 在线状态: </span><span class="hl-6">${</span><span class="hl-5">user</span><span class="hl-10">.</span><span class="hl-5">current_ws_online</span><span class="hl-6">}</span><span class="hl-3">`</span><span class="hl-2">)</span><br/><span class="hl-2">})</span>
96
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-6" class="tsd-anchor"></a>Example<a href="#Example-6" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">users</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">userList</span><br/><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`房间内有 </span><span class="hl-6">${</span><span class="hl-5">users</span><span class="hl-10">.</span><span class="hl-5">length</span><span class="hl-6">}</span><span class="hl-3"> 个用户`</span><span class="hl-2">)</span><br/><span class="hl-5">users</span><span class="hl-2">.</span><span class="hl-1">forEach</span><span class="hl-2">(</span><span class="hl-5">user</span><span class="hl-2"> </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">`用户 </span><span class="hl-6">${</span><span class="hl-5">user</span><span class="hl-10">.</span><span class="hl-5">id</span><span class="hl-6">}</span><span class="hl-3"> 在线状态: </span><span class="hl-6">${</span><span class="hl-5">user</span><span class="hl-10">.</span><span class="hl-5">current_ws_online</span><span class="hl-6">}</span><span class="hl-3">`</span><span class="hl-2">)</span><br/><span class="hl-2">})</span>
97
97
  </code><button type="button">Copy</button></pre>
98
98
 
99
99
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:396</li></ul></aside></li></ul></section></section></details><details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><h2><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg> Methods</h2></summary><section><section class="tsd-panel tsd-member"><a id="_exit" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>_exit</span><a href="#_exit" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="_exit._exit-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">_exit</span><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">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#_exit._exit-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>退出带看(内部方法)
@@ -113,7 +113,7 @@
113
113
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">toUserIds</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>目标用户ID,可以是单个字符串或字符串数组,空数组表示广播给所有人</p>
114
114
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">timeout</span>: <span class="tsd-signature-type">number</span></span><div class="tsd-comment tsd-typography"><p>超时时间(毫秒),0 表示不超时</p>
115
115
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#broadcast.broadcast-1.Response">Response</a><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise<Response> 响应数据,连接未打开返回 false,发送失败返回 Error</p>
116
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-7" class="tsd-anchor"></a>Example<a href="#Example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 发送自定义消息并等待响应</span><br/><span class="hl-4">try</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">broadcast</span><span class="hl-2">(</span><br/><span class="hl-2"> { </span><span class="hl-5">type:</span><span class="hl-2"> </span><span class="hl-3">&#39;ping&#39;</span><span class="hl-2">, </span><span class="hl-5">data:</span><span class="hl-2"> </span><span class="hl-3">&#39;hello&#39;</span><span class="hl-2"> },</span><br/><span class="hl-2"> [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-8">5000</span><span class="hl-2"> </span><span class="hl-0">// 5秒超时</span><br/><span class="hl-2"> )</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;收到响应:&#39;</span><span class="hl-2">, </span><span class="hl-5">response</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">catch</span><span class="hl-2"> (</span><span class="hl-5">error</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;广播失败或超时:&#39;</span><span class="hl-2">, </span><span class="hl-5">error</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 广播给所有人</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">broadcast</span><span class="hl-2">(</span><br/><span class="hl-2"> { </span><span class="hl-5">type:</span><span class="hl-2"> </span><span class="hl-3">&#39;announcement&#39;</span><span class="hl-2">, </span><span class="hl-5">message:</span><span class="hl-2"> </span><span class="hl-3">&#39;大家好&#39;</span><span class="hl-2"> },</span><br/><span class="hl-2"> [],</span><br/><span class="hl-2"> </span><span class="hl-8">0</span><span class="hl-2"> </span><span class="hl-0">// 不超时</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 监听广播消息</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">on</span><span class="hl-2">(</span><span class="hl-3">&#39;broadcast&#39;</span><span class="hl-2">, (</span><span class="hl-5">data</span><span class="hl-2">, </span><span class="hl-5">frontRequestId</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;收到广播:&#39;</span><span class="hl-2">, </span><span class="hl-5">data</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-0">// 可以在这里响应广播</span><br/><span class="hl-2">})</span>
116
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-7" class="tsd-anchor"></a>Example<a href="#Example-7" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 发送自定义消息并等待响应</span><br/><span class="hl-4">try</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">broadcast</span><span class="hl-2">(</span><br/><span class="hl-2"> { </span><span class="hl-5">type:</span><span class="hl-2"> </span><span class="hl-3">&#39;ping&#39;</span><span class="hl-2">, </span><span class="hl-5">data:</span><span class="hl-2"> </span><span class="hl-3">&#39;hello&#39;</span><span class="hl-2"> },</span><br/><span class="hl-2"> [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-9">5000</span><span class="hl-2"> </span><span class="hl-0">// 5秒超时</span><br/><span class="hl-2"> )</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;收到响应:&#39;</span><span class="hl-2">, </span><span class="hl-5">response</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">catch</span><span class="hl-2"> (</span><span class="hl-5">error</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;广播失败或超时:&#39;</span><span class="hl-2">, </span><span class="hl-5">error</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 广播给所有人</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">response</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">broadcast</span><span class="hl-2">(</span><br/><span class="hl-2"> { </span><span class="hl-5">type:</span><span class="hl-2"> </span><span class="hl-3">&#39;announcement&#39;</span><span class="hl-2">, </span><span class="hl-5">message:</span><span class="hl-2"> </span><span class="hl-3">&#39;大家好&#39;</span><span class="hl-2"> },</span><br/><span class="hl-2"> [],</span><br/><span class="hl-2"> </span><span class="hl-9">0</span><span class="hl-2"> </span><span class="hl-0">// 不超时</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 监听广播消息</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">on</span><span class="hl-2">(</span><span class="hl-3">&#39;broadcast&#39;</span><span class="hl-2">, (</span><span class="hl-5">data</span><span class="hl-2">, </span><span class="hl-5">frontRequestId</span><span class="hl-2">) </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;收到广播:&#39;</span><span class="hl-2">, </span><span class="hl-5">data</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-0">// 可以在这里响应广播</span><br/><span class="hl-2">})</span>
117
117
  </code><button type="button">Copy</button></pre>
118
118
 
119
119
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:1065</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="close" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>close</span><a href="#close" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="close.close-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">close</span><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">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span><a href="#close.close-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>关闭带看房间</p>
@@ -134,7 +134,7 @@
134
134
  <li>force: 是否强制连接(如果已有连接,会先关闭再连接)</li>
135
135
  </ul>
136
136
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span><span class="tsd-signature-symbol">&gt;</span></h4><p>连接结果,成功返回 true,失败返回 Error</p>
137
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-9" class="tsd-anchor"></a>Example<a href="#Example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 在创建实例时已配置 url 和 getTicket</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;ticket&#39;</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 手动连接</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">result</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">()</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2"> === </span><span class="hl-6">true</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;连接成功&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;连接失败:&#39;</span><span class="hl-2">, </span><span class="hl-5">result</span><span class="hl-2">.</span><span class="hl-5">message</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 在连接时提供配置</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">res</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/ticket&#39;</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">res</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">().</span><span class="hl-5">ticket</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-5">rtcMicStatus:</span><span class="hl-2"> </span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-7">OPEN</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 强制重连</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">({ </span><span class="hl-5">force:</span><span class="hl-2"> </span><span class="hl-6">true</span><span class="hl-2"> })</span>
137
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-9" class="tsd-anchor"></a>Example<a href="#Example-9" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 在创建实例时已配置 url 和 getTicket</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">live</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Live</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> </span><span class="hl-3">&#39;ticket&#39;</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 手动连接</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">result</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">()</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2"> === </span><span class="hl-6">true</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;连接成功&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;连接失败:&#39;</span><span class="hl-2">, </span><span class="hl-5">result</span><span class="hl-2">.</span><span class="hl-5">message</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 在连接时提供配置</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">url:</span><span class="hl-2"> </span><span class="hl-3">&#39;wss://example.com/live&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-1">getTicket</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-6">async</span><span class="hl-2"> () </span><span class="hl-6">=&gt;</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">res</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-1">fetch</span><span class="hl-2">(</span><span class="hl-3">&#39;/api/ticket&#39;</span><span class="hl-2">)</span><br/><span class="hl-2"> </span><span class="hl-4">return</span><span class="hl-2"> </span><span class="hl-5">res</span><span class="hl-2">.</span><span class="hl-1">json</span><span class="hl-2">().</span><span class="hl-5">ticket</span><br/><span class="hl-2"> },</span><br/><span class="hl-2"> </span><span class="hl-5">rtcMicStatus:</span><span class="hl-2"> </span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-8">OPEN</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-0">// 强制重连</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">connect</span><span class="hl-2">({ </span><span class="hl-5">force:</span><span class="hl-2"> </span><span class="hl-6">true</span><span class="hl-2"> })</span>
138
138
  </code><button type="button">Copy</button></pre>
139
139
 
140
140
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:809</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="dispose" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="dispose.dispose-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">dispose</span><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">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#dispose.dispose-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>销毁带看实例</p>
@@ -160,7 +160,7 @@
160
160
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">microStatus</span>: <a href="../enums/MicroStatus.html" class="tsd-signature-type tsd-kind-enum">MicroStatus</a></span><div class="tsd-comment tsd-typography"><p>麦克风状态(MicroStatus.OPEN 或 MicroStatus.CLOSE)</p>
161
161
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">toUserIds</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>目标用户ID,可以是单个字符串或字符串数组</p>
162
162
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise<boolean> 是否操作成功,无权限或权限检查失败返回 false</p>
163
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-12" class="tsd-anchor"></a>Example<a href="#Example-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 关闭某个用户的麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-7">CLOSE</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">)</span><br/><br/><span class="hl-0">// 开启多个用户的麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-7">OPEN</span><span class="hl-2">, [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">])</span><br/><br/><span class="hl-0">// 检查权限</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><span class="hl-2">?.</span><span class="hl-5">permission</span><span class="hl-2">?.</span><span class="hl-5">control_other_micro</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-7">CLOSE</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
163
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-12" class="tsd-anchor"></a>Example<a href="#Example-12" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 关闭某个用户的麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-8">CLOSE</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">)</span><br/><br/><span class="hl-0">// 开启多个用户的麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-8">OPEN</span><span class="hl-2">, [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">])</span><br/><br/><span class="hl-0">// 检查权限</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><span class="hl-2">?.</span><span class="hl-5">permission</span><span class="hl-2">?.</span><span class="hl-5">control_other_micro</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">forbidMicro</span><span class="hl-2">(</span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-8">CLOSE</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
164
164
  </code><button type="button">Copy</button></pre>
165
165
 
166
166
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:1165</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="forbidSync" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>forbid<wbr/>Sync</span><a href="#forbidSync" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="forbidSync.forbidSync-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">forbid<wbr/>Sync</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">sync</span>, <span class="tsd-kind-parameter">toUserIds</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">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#forbidSync.forbidSync-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>控制其他用户的帧数据同步权限</p>
@@ -175,7 +175,7 @@
175
175
  </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="getFramesByKey.getFramesByKey-1.Key" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">Key</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">symbol</span></span><div class="tsd-comment tsd-typography"><p>帧数据的键类型</p>
176
176
  </div><div class="tsd-comment tsd-typography"></div></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#getFramesByKey.getFramesByKey-1.Key">Key</a></span><div class="tsd-comment tsd-typography"><p>帧数据的键值</p>
177
177
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Partial</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#getFramesByKey.getFramesByKey-1.Key">Key</a><span class="tsd-signature-symbol">]</span></h4><p>对应键的帧数据,如果不存在则返回 undefined</p>
178
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-14" class="tsd-anchor"></a>Example<a href="#Example-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 获取相机帧数据</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">cameraFrame</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">getFramesByKey</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">)</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">cameraFrame</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;相机位置:&#39;</span><span class="hl-2">, </span><span class="hl-5">cameraFrame</span><span class="hl-2">.</span><span class="hl-5">position</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
178
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-14" class="tsd-anchor"></a>Example<a href="#Example-14" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 获取相机帧数据</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">cameraFrame</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">getFramesByKey</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">)</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">cameraFrame</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;相机位置:&#39;</span><span class="hl-2">, </span><span class="hl-5">cameraFrame</span><span class="hl-2">.</span><span class="hl-5">position</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
179
179
  </code><button type="button">Copy</button></pre>
180
180
 
181
181
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:312</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="getSnapshotForKey" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>get<wbr/>Snapshot<wbr/>For<wbr/>Key</span><a href="#getSnapshotForKey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="getSnapshotForKey.getSnapshotForKey-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">get<wbr/>Snapshot<wbr/>For<wbr/>Key</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#getSnapshotForKey.getSnapshotForKey-1.Key-1">Key</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">key</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><a href="#getSnapshotForKey.getSnapshotForKey-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>获取指定键的帧数据快照</p>
@@ -183,7 +183,7 @@
183
183
  </div><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="getSnapshotForKey.getSnapshotForKey-1.Key-1" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">Key</span><span class="tsd-signature-keyword"> extends </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">symbol</span></span><div class="tsd-comment tsd-typography"><p>帧数据的键类型</p>
184
184
  </div><div class="tsd-comment tsd-typography"></div></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#getSnapshotForKey.getSnapshotForKey-1.Key-1">Key</a></span><div class="tsd-comment tsd-typography"><p>帧数据的键值</p>
185
185
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><p>对应键的帧数据,如果不存在则返回 undefined</p>
186
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-15" class="tsd-anchor"></a>Example<a href="#Example-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">cameraFrame</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">getSnapshotForKey</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">)</span>
186
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-15" class="tsd-anchor"></a>Example<a href="#Example-15" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">cameraFrame</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">getSnapshotForKey</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">)</span>
187
187
  </code><button type="button">Copy</button></pre>
188
188
 
189
189
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:1271</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member tsd-is-inherited"><a id="hasListener" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>has<wbr/>Listener</span><a href="#hasListener" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures tsd-is-inherited"><li class="tsd-signature tsd-anchor-link"><a id="hasListener.hasListener-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">has<wbr/>Listener</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">name</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><a href="#hasListener.hasListener-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>判断是否注册了事件</p>
@@ -219,7 +219,7 @@
219
219
  </div><div class="tsd-comment tsd-typography"></div></li></ul></section><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">key</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#sendKeyframe.sendKeyframe-1.Key-2">Key</a></span><div class="tsd-comment tsd-typography"><p>帧数据键值</p>
220
220
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">frame</span>: <a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#constructor.new_Live.KeyframesSnapshot-1">KeyframesSnapshot</a><span class="tsd-signature-symbol">[</span><a class="tsd-signature-type tsd-kind-type-parameter" href="Live.html#sendKeyframe.sendKeyframe-1.Key-2">Key</a><span class="tsd-signature-symbol">]</span></span><div class="tsd-comment tsd-typography"><p>帧数据本体,必须可序列化</p>
221
221
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Error</span></h4><p>发送结果,成功返回 true,连接未打开返回 false,其他错误返回 Error</p>
222
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-17" class="tsd-anchor"></a>Example<a href="#Example-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 发送相机位置更新</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">result</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">sendKeyframe</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">position:</span><span class="hl-2"> [</span><span class="hl-8">1</span><span class="hl-2">, </span><span class="hl-8">2</span><span class="hl-2">, </span><span class="hl-8">3</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-5">rotation:</span><span class="hl-2"> [</span><span class="hl-8">0</span><span class="hl-2">, </span><span class="hl-8">0</span><span class="hl-2">, </span><span class="hl-8">0</span><span class="hl-2">]</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2"> === </span><span class="hl-6">true</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;发送成功&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;发送失败:&#39;</span><span class="hl-2">, </span><span class="hl-5">result</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 发送标注更新</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">sendKeyframe</span><span class="hl-2">(</span><span class="hl-3">&#39;annotation&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">text:</span><span class="hl-2"> </span><span class="hl-3">&#39;这是一个标注&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">position:</span><span class="hl-2"> [</span><span class="hl-8">100</span><span class="hl-2">, </span><span class="hl-8">200</span><span class="hl-2">]</span><br/><span class="hl-2">})</span>
222
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-17" class="tsd-anchor"></a>Example<a href="#Example-17" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 发送相机位置更新</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">result</span><span class="hl-2"> = </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">sendKeyframe</span><span class="hl-2">(</span><span class="hl-3">&#39;camera&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">position:</span><span class="hl-2"> [</span><span class="hl-9">1</span><span class="hl-2">, </span><span class="hl-9">2</span><span class="hl-2">, </span><span class="hl-9">3</span><span class="hl-2">],</span><br/><span class="hl-2"> </span><span class="hl-5">rotation:</span><span class="hl-2"> [</span><span class="hl-9">0</span><span class="hl-2">, </span><span class="hl-9">0</span><span class="hl-2">, </span><span class="hl-9">0</span><span class="hl-2">]</span><br/><span class="hl-2">})</span><br/><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2"> === </span><span class="hl-6">true</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;发送成功&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">error</span><span class="hl-2">(</span><span class="hl-3">&#39;发送失败:&#39;</span><span class="hl-2">, </span><span class="hl-5">result</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 发送标注更新</span><br/><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">sendKeyframe</span><span class="hl-2">(</span><span class="hl-3">&#39;annotation&#39;</span><span class="hl-2">, {</span><br/><span class="hl-2"> </span><span class="hl-5">text:</span><span class="hl-2"> </span><span class="hl-3">&#39;这是一个标注&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">position:</span><span class="hl-2"> [</span><span class="hl-9">100</span><span class="hl-2">, </span><span class="hl-9">200</span><span class="hl-2">]</span><br/><span class="hl-2">})</span>
223
223
  </code><button type="button">Copy</button></pre>
224
224
 
225
225
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:346</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="setSelfInfo" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>set<wbr/>Self<wbr/>Info</span><a href="#setSelfInfo" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="setSelfInfo.setSelfInfo-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">set<wbr/>Self<wbr/>Info</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">userInfo</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">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#setSelfInfo.setSelfInfo-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>设置自己的用户信息</p>
@@ -233,7 +233,7 @@
233
233
  <p>开启或关闭自己的麦克风。只有拥有 control_own_micro 权限的用户才能操作。</p>
234
234
  </div><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">microStatus</span>: <span class="tsd-signature-type">boolean</span></span><div class="tsd-comment tsd-typography"><p>麦克风状态,true 表示开启,false 表示关闭</p>
235
235
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><p>Promise<boolean> 是否操作成功,无权限返回 false</p>
236
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-19" class="tsd-anchor"></a>Example<a href="#Example-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 开启麦克风</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">result</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">true</span><span class="hl-2">)</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;麦克风已开启&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 关闭麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">false</span><span class="hl-2">)</span><br/><br/><span class="hl-0">// 检查权限</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><span class="hl-2">?.</span><span class="hl-5">permission</span><span class="hl-2">?.</span><span class="hl-5">control_own_micro</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">true</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;没有权限控制麦克风&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
236
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-19" class="tsd-anchor"></a>Example<a href="#Example-19" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 开启麦克风</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">result</span><span class="hl-2"> = </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">true</span><span class="hl-2">)</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">result</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;麦克风已开启&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span><br/><br/><span class="hl-0">// 关闭麦克风</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">false</span><span class="hl-2">)</span><br/><br/><span class="hl-0">// 检查权限</span><br/><span class="hl-4">if</span><span class="hl-2"> (</span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-5">selfInfo</span><span class="hl-2">?.</span><span class="hl-5">permission</span><span class="hl-2">?.</span><span class="hl-5">control_own_micro</span><span class="hl-2">) {</span><br/><span class="hl-2"> </span><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">toggleMicro</span><span class="hl-2">(</span><span class="hl-6">true</span><span class="hl-2">)</span><br/><span class="hl-2">} </span><span class="hl-4">else</span><span class="hl-2"> {</span><br/><span class="hl-2"> </span><span class="hl-5">console</span><span class="hl-2">.</span><span class="hl-1">log</span><span class="hl-2">(</span><span class="hl-3">&#39;没有权限控制麦克风&#39;</span><span class="hl-2">)</span><br/><span class="hl-2">}</span>
237
237
  </code><button type="button">Copy</button></pre>
238
238
 
239
239
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:1125</li></ul></aside></li></ul></section><section class="tsd-panel tsd-member"><a id="updateStatus" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span>update<wbr/>Status</span><a href="#updateStatus" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="updateStatus.updateStatus-1" class="tsd-anchor"></a><span class="tsd-kind-call-signature">update<wbr/>Status</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">evtType</span>, <span class="tsd-kind-parameter">atnType</span>, <span class="tsd-kind-parameter">status</span>, <span class="tsd-kind-parameter">toUserIds</span><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">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span><a href="#updateStatus.updateStatus-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-comment tsd-typography"><p>更新带看状态</p>
@@ -243,7 +243,7 @@
243
243
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><span class="tsd-kind-parameter">status</span>: <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></span><div class="tsd-comment tsd-typography"><p>状态数据对象</p>
244
244
  </div><div class="tsd-comment tsd-typography"></div></li><li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">toUserIds</span>: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></span><div class="tsd-comment tsd-typography"><p>目标用户ID(可选,不传则广播给所有人)</p>
245
245
  </div><div class="tsd-comment tsd-typography"></div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><p>是否发送成功,连接未打开或发送失败返回 false</p>
246
- <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-20" class="tsd-anchor"></a>Example<a href="#Example-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 更新用户信息</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">UserChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">UserInfo</span><span class="hl-2">,</span><br/><span class="hl-2"> { </span><span class="hl-5">nickname:</span><span class="hl-2"> </span><span class="hl-3">&#39;新昵称&#39;</span><span class="hl-2">, </span><span class="hl-5">avatar:</span><span class="hl-2"> </span><span class="hl-3">&#39;https://example.com/avatar.jpg&#39;</span><span class="hl-2"> }</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 关闭房间(仅管理员可用)</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">RoomChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">RoomClose</span><span class="hl-2">,</span><br/><span class="hl-2"> {}</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 向特定用户发送状态更新</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">UserChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">UserMicroStatus</span><span class="hl-2">,</span><br/><span class="hl-2"> { </span><span class="hl-5">status:</span><span class="hl-2"> </span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-7">CLOSE</span><span class="hl-2"> },</span><br/><span class="hl-2"> [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">]</span><br/><span class="hl-2">)</span>
246
+ <div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example-20" class="tsd-anchor"></a>Example<a href="#Example-20" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-0">// 更新用户信息</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">UserChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">UserInfo</span><span class="hl-2">,</span><br/><span class="hl-2"> { </span><span class="hl-5">nickname:</span><span class="hl-2"> </span><span class="hl-3">&#39;新昵称&#39;</span><span class="hl-2">, </span><span class="hl-5">avatar:</span><span class="hl-2"> </span><span class="hl-3">&#39;https://example.com/avatar.jpg&#39;</span><span class="hl-2"> }</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 关闭房间(仅管理员可用)</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">RoomChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">RoomClose</span><span class="hl-2">,</span><br/><span class="hl-2"> {}</span><br/><span class="hl-2">)</span><br/><br/><span class="hl-0">// 向特定用户发送状态更新</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">live</span><span class="hl-2">.</span><span class="hl-1">updateStatus</span><span class="hl-2">(</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinEventType</span><span class="hl-2">.</span><span class="hl-5">UserChange</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">BuiltinActionType</span><span class="hl-2">.</span><span class="hl-5">UserMicroStatus</span><span class="hl-2">,</span><br/><span class="hl-2"> { </span><span class="hl-5">status:</span><span class="hl-2"> </span><span class="hl-5">MicroStatus</span><span class="hl-2">.</span><span class="hl-8">CLOSE</span><span class="hl-2"> },</span><br/><span class="hl-2"> [</span><span class="hl-3">&#39;user-id-1&#39;</span><span class="hl-2">, </span><span class="hl-3">&#39;user-id-2&#39;</span><span class="hl-2">]</span><br/><span class="hl-2">)</span>
247
247
  </code><button type="button">Copy</button></pre>
248
248
 
249
249
  </div></div><aside class="tsd-sources"><ul><li>Defined in live/live.ts:986</li></ul></aside></li></ul></section></section></details></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>On This Page</h3></summary><div class="tsd-accordion-details"><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Constructors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Constructors</summary><div><a href="#constructor" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Properties</summary><div><a href="#keyframes" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1024"></use></svg><span>keyframes</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Accessors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Accessors</summary><div><a href="#_RTC" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>$RTC</span></a><a href="#jsBridge" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>js<wbr/>Bridge</span></a><a href="#options" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>options</span></a><a href="#readyState" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>ready<wbr/>State</span></a><a href="#roomInfo" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>room<wbr/>Info</span></a><a href="#selfInfo" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>self<wbr/>Info</span></a><a href="#snapshot" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>snapshot</span></a><a href="#state" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>state</span></a><a href="#url" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>url</span></a><a href="#userList" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-262144"></use></svg><span>user<wbr/>List</span></a></div></details><details open class="tsd-accordion tsd-page-navigation-section"><summary class="tsd-accordion-summary" data-key="tsd-otp-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Methods</summary><div><a href="#_exit" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>_exit</span></a><a href="#_handleKeyframesChange" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>_handle<wbr/>Keyframes<wbr/>Change</span></a><a href="#_initializeKeyframesObservers" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>_initialize<wbr/>Keyframes<wbr/>Observers</span></a><a href="#broadcast" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>broadcast</span></a><a href="#close" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>close</span></a><a href="#connect" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>connect</span></a><a href="#dispose" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>dispose</span></a><a href="#emit" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>emit</span></a><a href="#exit" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>exit</span></a><a href="#forbidMicro" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>forbid<wbr/>Micro</span></a><a href="#forbidSync" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>forbid<wbr/>Sync</span></a><a href="#getFramesByKey" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Frames<wbr/>By<wbr/>Key</span></a><a href="#getSnapshotForKey" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>get<wbr/>Snapshot<wbr/>For<wbr/>Key</span></a><a href="#hasListener" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>has<wbr/>Listener</span></a><a href="#kick" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>kick</span></a><a href="#off" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>off</span></a><a href="#on" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>on</span></a><a href="#once" class="tsd-is-inherited"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>once</span></a><a href="#sendKeyframe" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>send<wbr/>Keyframe</span></a><a href="#setSelfInfo" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>set<wbr/>Self<wbr/>Info</span></a><a href="#toggleMicro" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>toggle<wbr/>Micro</span></a><a href="#updateStatus" class=""><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-2048"></use></svg><span>update<wbr/>Status</span></a></div></details></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>如视 Live SDK</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>Subscribe | 如视 Live SDK</title><meta name="description" content="Documentation for 如视 Live SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></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">如视 Live SDK</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">如视 Live SDK</a></li><li><a href="Subscribe.html">Subscribe</a></li></ul><h1> ClassSubscribe&lt;T&gt;</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>监听者模式</p>
2
- </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example" class="tsd-anchor"></a>Example<a href="#Example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Subscribe</span><span class="hl-2">&lt;{</span><br/><span class="hl-3">&quot;foo&quot;</span><span class="hl-2">: [</span><span class="hl-14">arg1</span><span class="hl-2">: </span><span class="hl-9">number</span><span class="hl-2">, </span><span class="hl-14">arg2</span><span class="hl-2">: </span><span class="hl-9">string</span><span class="hl-2">],</span><br/><span class="hl-3">&quot;bar&quot;</span><span class="hl-2">: [</span><span class="hl-14">arg</span><span class="hl-2">: </span><span class="hl-9">boolean</span><span class="hl-2">],</span><br/><span class="hl-2">}&gt;()</span>
2
+ </div><div class="tsd-comment tsd-typography"><div class="tsd-tag-Example"><h4 class="tsd-anchor-link"><a id="Example" class="tsd-anchor"></a>Example<a href="#Example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">Subscribe</span><span class="hl-2">&lt;{</span><br/><span class="hl-3">&quot;foo&quot;</span><span class="hl-2">: [</span><span class="hl-14">arg1</span><span class="hl-2">: </span><span class="hl-7">number</span><span class="hl-2">, </span><span class="hl-14">arg2</span><span class="hl-2">: </span><span class="hl-7">string</span><span class="hl-2">],</span><br/><span class="hl-3">&quot;bar&quot;</span><span class="hl-2">: [</span><span class="hl-14">arg</span><span class="hl-2">: </span><span class="hl-7">boolean</span><span class="hl-2">],</span><br/><span class="hl-2">}&gt;()</span>
3
3
  </code><button>Copy</button></pre>
4
4
 
5
5
  </div></div></section> <section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="T" class="tsd-anchor"></a><span class="tsd-kind-type-parameter">T</span><span class="tsd-signature-keyword"> extends </span><a href="../types/EventMap.html" class="tsd-signature-type tsd-kind-type-alias">EventMap</a></span><div class="tsd-comment tsd-typography"><p>预设的监听回调类型</p>