@realsee/live 0.7.4 → 0.7.5

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>VRWebViewRTC | 如视 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="VRWebViewRTC.html">VRWebViewRTC</a></li></ul><h1> ClassVRWebViewRTC</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>VR WebView RTC 实现</p>
2
2
  <p>适用于在如视 VR App 的 WebView 或微信小程序环境中进行实时语音通信。
3
3
  通过 JSBridge 与原生 App 通信,实现语音功能。</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-4">import</span><span class="hl-2"> </span><span class="hl-5">JSBridge</span><span class="hl-2"> </span><span class="hl-4">from</span><span class="hl-2"> </span><span class="hl-3">&#39;@realsee/jsbridge-x&#39;</span><br/><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">jsBridge</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">JSBridge</span><span class="hl-2">()</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-7">rtc</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">VRWebViewRTC</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">jsBridge</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><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><br/><br/><span class="hl-0">// 加入房间</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">rtc</span><span class="hl-2">.</span><span class="hl-1">join</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">voiceId:</span><span class="hl-2"> </span><span class="hl-3">&#39;voice-id&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">userId:</span><span class="hl-2"> </span><span class="hl-3">&#39;user-id&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">roomId:</span><span class="hl-2"> </span><span class="hl-3">&#39;room-id&#39;</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-5">RTCType</span><span class="hl-2">.</span><span class="hl-5">RealseeVRWebViewRTC</span><br/><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-4">import</span><span class="hl-2"> </span><span class="hl-5">JSBridge</span><span class="hl-2"> </span><span class="hl-4">from</span><span class="hl-2"> </span><span class="hl-3">&#39;@realsee/jsbridge-x&#39;</span><br/><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">jsBridge</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">JSBridge</span><span class="hl-2">()</span><br/><span class="hl-6">const</span><span class="hl-2"> </span><span class="hl-8">rtc</span><span class="hl-2"> = </span><span class="hl-6">new</span><span class="hl-2"> </span><span class="hl-1">VRWebViewRTC</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">jsBridge</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><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><br/><br/><span class="hl-0">// 加入房间</span><br/><span class="hl-4">await</span><span class="hl-2"> </span><span class="hl-5">rtc</span><span class="hl-2">.</span><span class="hl-1">join</span><span class="hl-2">({</span><br/><span class="hl-2"> </span><span class="hl-5">voiceId:</span><span class="hl-2"> </span><span class="hl-3">&#39;voice-id&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">userId:</span><span class="hl-2"> </span><span class="hl-3">&#39;user-id&#39;</span><span class="hl-2">,</span><br/><span class="hl-2"> </span><span class="hl-5">roomId:</span><span class="hl-2"> </span><span class="hl-3">&#39;room-id&#39;</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-5">RTCType</span><span class="hl-2">.</span><span class="hl-5">RealseeVRWebViewRTC</span><br/><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 tsd-hierarchy"><h4>Hierarchy (<a href="../hierarchy.html#VRWebViewRTC">view full</a>)</h4><ul class="tsd-hierarchy"><li><a href="CoreRTC.html" class="tsd-signature-type tsd-kind-class">CoreRTC</a><ul class="tsd-hierarchy"><li><span class="target">VRWebViewRTC</span></li></ul></li></ul></section><aside class="tsd-sources"><ul><li>Defined in rtc/VRWebViewRTC.ts:42</li></ul></aside><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><h5 class="tsd-index-heading uppercase" role="button" aria-expanded="false" tabIndex="0"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-chevronSmall"></use></svg> Index</h5></summary><div class="tsd-accordion-details"><section class="tsd-index-section"><h3 class="tsd-index-heading">Constructors</h3><div class="tsd-index-list"><a href="VRWebViewRTC.html#constructor" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-512"></use></svg><span>constructor</span></a>
@@ -14,7 +14,7 @@
14
14
  <li>roomId: RTC的语音房间号</li>
15
15
  <li>userSig: RTC的用户签名</li>
16
16
  </ul>
17
- <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-6">const</span><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-2">: </span><span class="hl-9">GetVoiceSign</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">headers:</span><span class="hl-2"> { </span><span class="hl-3">&#39;Content-Type&#39;</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-3">&#39;application/json&#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>
17
+ <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-6">const</span><span class="hl-2"> </span><span class="hl-1">getVoiceSign</span><span class="hl-2">: </span><span class="hl-7">GetVoiceSign</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">headers:</span><span class="hl-2"> { </span><span class="hl-3">&#39;Content-Type&#39;</span><span class="hl-5">:</span><span class="hl-2"> </span><span class="hl-3">&#39;application/json&#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>
18
18
  </code><button type="button">Copy</button></pre>
19
19
 
20
20
  </div></div><aside class="tsd-sources"><ul><li>Defined in typings/live/GetVoiceSign.ts:68</li></ul></aside></li></ul></section></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></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,6 +1,6 @@
1
1
  <!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>createLive | 如视 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="createLive.html">createLive</a></li></ul><h1> FunctioncreateLive</h1></div><section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography"><p>创建 Live 带看实例</p>
2
2
  <p>这是一个工厂函数,用于创建 Live 实例。在创建新实例前,会先清理全局的旧实例(如果存在)。</p>
3
- </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-1">createLive</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><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">// 连接带看</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>
3
+ </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-1">createLive</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><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">// 连接带看</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
4
  </code><button type="button">Copy</button></pre>
5
5
 
6
6
  </div></div></section><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="createLive" class="tsd-anchor"></a><span class="tsd-kind-call-signature">create<wbr/>Live</span><span class="tsd-signature-symbol">&lt;</span><a class="tsd-signature-type tsd-kind-type-parameter" href="createLive.html#createLive.KeyframesSnapshot">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">opts</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../classes/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="createLive.html#createLive.KeyframesSnapshot">KeyframesSnapshot</a><span class="tsd-signature-symbol">&gt;</span><a href="#createLive" 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"><section class="tsd-panel"><h4>Type Parameters</h4><ul class="tsd-type-parameter-list"><li><span><a id="createLive.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>