Browse Source

更新版本到 2.0.0-alpha.9

ChangeLog
1. 新增 snapshot 功能
2. 支持 h265 编码
3. 支持创建本地流时,指定音视频源
4. 修复 join 时异常的问题
5. 修正文档
6. 其他内部优化
poplark 4 years ago
parent
commit
0fe2872bb8

+ 4 - 2
README.md

@@ -93,6 +93,7 @@ LocalStream 对象包含以下方法:
 * [resume](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#resume) - 恢复播放流,一般由于浏览器限制无法自动播放时,可提示用户手动触发该方法进行恢复播放
 * [setScreenProfile](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#setscreenprofile) - 设置当前流(屏幕共享时)视频的 Profile,默认 '1080p'
 * [setVideoProfile](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#setvideoprofile) - 设置当前流视频的 Profile,默认 '480p'
+* [snapshot](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#snapshot) - 对当前流进行截屏
 * [stop](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#stop) - 停止播放当前流
 * [switchDevice](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#switchdevice) - 切换音视频设备
 * [switchImage](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#switchimage) - 切换图片 - 使用图片生成视频,并将当前流的视频使用其代替
@@ -122,11 +123,12 @@ RemoteStream 对象包含以下方法:
 * [hasVideo](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#hasvideo) - 判断当前流是否有视频
 * [muteAudio](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#muteaudio) - mute 当前流的音频
 * [muteVideo](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#mutevideo) - mute 当前流的视频
-* [off](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#off) - 取消监听流对象事件
-* [on](https://ucloud.github.io/urtc-sdk-web/classes/localstream.html#on) - 监听流对象事件,可监听的事件类型有 [RtcStreamEventType](https://ucloud.github.io/urtc-sdk-web/index.html#rtcstreameventtype)、[RtcPlayerEventType](https://ucloud.github.io/urtc-sdk-web/index.html#rtcplayereventtype)
+* [off](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#off) - 取消监听流对象事件
+* [on](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#on) - 监听流对象事件,可监听的事件类型有 [RtcStreamEventType](https://ucloud.github.io/urtc-sdk-web/index.html#rtcstreameventtype)、[RtcPlayerEventType](https://ucloud.github.io/urtc-sdk-web/index.html#rtcplayereventtype)
 * [play](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#play) - 播放当前流
 * [resume](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#resume) - 恢复播放流,一般由于浏览器限制无法自动播放时,可提示用户手动触发该方法进行恢复播放
 * [setAudioVolume](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#setaudiovolume) - 设置输出音量,默认为 100
+* [snapshot](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#snapshot) - 对当前流进行截屏
 * [stop](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#stop) - 停止播放当前流
 * [unmuteAudio](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#unmuteaudio) - unmute 当前流的音频
 * [unmuteVideo](https://ucloud.github.io/urtc-sdk-web/classes/remotestream.html#unmutevideo) - unmute 当前流的视频

File diff suppressed because it is too large
+ 1 - 1
docs/assets/js/search.js


+ 6 - 1
docs/index.html

@@ -556,13 +556,18 @@
 				<section class="tsd-panel tsd-member tsd-kind-type-alias">
 					<a name="videocodec" class="tsd-anchor"></a>
 					<h3>Video<wbr>Codec</h3>
-					<div class="tsd-signature tsd-kind-icon">Video<wbr>Codec<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;vp8&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h264&quot;</span></div>
+					<div class="tsd-signature tsd-kind-icon">Video<wbr>Codec<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;vp8&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h264&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h265&quot;</span></div>
 					<aside class="tsd-sources">
 					</aside>
 					<div class="tsd-comment tsd-typography">
 						<div class="lead">
 							<p>视频编解码格式</p>
 						</div>
+						<dl class="tsd-comment-tags">
+							<dt>note</dt>
+							<dd><p>&#39;h265&#39; 目前仅部分浏览器在开启试验性功能时才支持,如 Safari 开启 <code>WebRTC H265 codec</code></p>
+							</dd>
+						</dl>
 					</div>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-type-alias">

+ 1 - 1
docs/interfaces/clientoptions.html

@@ -98,7 +98,7 @@
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="codec" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> codec</h3>
-					<div class="tsd-signature tsd-kind-icon">codec<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;vp8&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h264&quot;</span></div>
+					<div class="tsd-signature tsd-kind-icon">codec<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;vp8&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h264&quot;</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">&quot;h265&quot;</span></div>
 					<aside class="tsd-sources">
 					</aside>
 					<div class="tsd-comment tsd-typography">

+ 36 - 1
docs/interfaces/localstreamoptions.html

@@ -88,6 +88,7 @@
 							<h3>Properties</h3>
 							<ul class="tsd-index-list">
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#audio" class="tsd-kind-icon">audio</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#audiosource" class="tsd-kind-icon">audio<wbr>Source</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#cameraid" class="tsd-kind-icon">camera<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#facingmode" class="tsd-kind-icon">facing<wbr>Mode</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#file" class="tsd-kind-icon">file</a></li>
@@ -97,6 +98,7 @@
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#screenaudio" class="tsd-kind-icon">screen<wbr>Audio</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#userid" class="tsd-kind-icon">user<wbr>Id</a></li>
 								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#video" class="tsd-kind-icon">video</a></li>
+								<li class="tsd-kind-property tsd-parent-kind-interface"><a href="localstreamoptions.html#videosource" class="tsd-kind-icon">video<wbr>Source</a></li>
 							</ul>
 						</section>
 					</div>
@@ -117,6 +119,19 @@
 					</div>
 				</section>
 				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="audiosource" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> audio<wbr>Source</h3>
+					<div class="tsd-signature tsd-kind-icon">audio<wbr>Source<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MediaStreamTrack</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-comment tsd-typography">
+						<div class="lead">
+							<p>选传,音频轨道,参见 <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamTrack" class="external">MediaStreamTrack</a>,指定本地流的音频源。
+							注:若指定,将直接采用该音频轨道作为本地流的音频源,不再按 audio 设置的读取麦克风作为音频源,或 screenAudio 设置的读取屏幕共享的音频作为音频源。</p>
+						</div>
+					</div>
+				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
 					<a name="cameraid" class="tsd-anchor"></a>
 					<h3><span class="tsd-flag ts-flagOptional">Optional</span> camera<wbr>Id</h3>
 					<div class="tsd-signature tsd-kind-icon">camera<wbr>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
@@ -148,7 +163,8 @@
 					</aside>
 					<div class="tsd-comment tsd-typography">
 						<div class="lead">
-							<p>选传,使用图片初始化本地流的视频</p>
+							<p>选传,使用图片初始化本地流的视频。
+							注:若指定,将直接采用图片生成的视频作为本地流的视频源,不再按 video 设置的读取摄像头作为视频源,或 screen 设置的读取屏幕共享的画面作为视频源。</p>
 						</div>
 					</div>
 				</section>
@@ -225,6 +241,19 @@
 						</div>
 					</div>
 				</section>
+				<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+					<a name="videosource" class="tsd-anchor"></a>
+					<h3><span class="tsd-flag ts-flagOptional">Optional</span> video<wbr>Source</h3>
+					<div class="tsd-signature tsd-kind-icon">video<wbr>Source<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MediaStreamTrack</span></div>
+					<aside class="tsd-sources">
+					</aside>
+					<div class="tsd-comment tsd-typography">
+						<div class="lead">
+							<p>选传,视频轨道,参见 <a href="https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamTrack" class="external">MediaStreamTrack</a>,指定本地流的视频源。
+							注:若指定,将直接采用该视频轨道作为本地流的视频源,不再按 video 设置的读取摄像头作为视频源,或 screen 设置的读取屏幕共享的画面作为视频源,或 file 设置的使用图片生成视频源。</p>
+						</div>
+					</div>
+				</section>
 			</section>
 		</div>
 		<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
@@ -246,6 +275,9 @@
 								<a href="localstreamoptions.html#audio" class="tsd-kind-icon">audio</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="localstreamoptions.html#audiosource" class="tsd-kind-icon">audio<wbr>Source</a>
+							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="localstreamoptions.html#cameraid" class="tsd-kind-icon">camera<wbr>Id</a>
 							</li>
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
@@ -272,6 +304,9 @@
 							<li class=" tsd-kind-property tsd-parent-kind-interface">
 								<a href="localstreamoptions.html#video" class="tsd-kind-icon">video</a>
 							</li>
+							<li class=" tsd-kind-property tsd-parent-kind-interface">
+								<a href="localstreamoptions.html#videosource" class="tsd-kind-icon">video<wbr>Source</a>
+							</li>
 						</ul>
 					</li>
 				</ul>

+ 14 - 2
lib/index.d.ts

@@ -330,7 +330,8 @@ declare module '__@urtc/sdk-web/stream/local-stream' {
         */
       facingMode?: 'user' | 'environment';
       /**
-        * 选传,使用图片初始化本地流的视频
+        * 选传,使用图片初始化本地流的视频。
+        * 注:若指定,将直接采用图片生成的视频作为本地流的视频源,不再按 video 设置的读取摄像头作为视频源,或 screen 设置的读取屏幕共享的画面作为视频源。
         */
       file?: string | File;
       /**
@@ -341,6 +342,16 @@ declare module '__@urtc/sdk-web/stream/local-stream' {
         * 选传,指定本地流的 userId
         */
       userId?: string;
+      /**
+        * 选传,音频轨道,参见 {@link https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamTrack | MediaStreamTrack},指定本地流的音频源。
+        * 注:若指定,将直接采用该音频轨道作为本地流的音频源,不再按 audio 设置的读取麦克风作为音频源,或 screenAudio 设置的读取屏幕共享的音频作为音频源。
+        */
+      audioSource?: MediaStreamTrack;
+      /**
+        * 选传,视频轨道,参见 {@link https://developer.mozilla.org/zh-CN/docs/Web/API/MediaStreamTrack | MediaStreamTrack},指定本地流的视频源。
+        * 注:若指定,将直接采用该视频轨道作为本地流的视频源,不再按 video 设置的读取摄像头作为视频源,或 screen 设置的读取屏幕共享的画面作为视频源,或 file 设置的使用图片生成视频源。
+        */
+      videoSource?: MediaStreamTrack;
   }
   /**
     * 本地流,可用于本地预览,也可用 client 进行发布
@@ -1156,8 +1167,9 @@ declare module '__@urtc/sdk-web/stream/types' {
   /**
     * 视频编解码格式
     * @public
+    * @note 'h265' 目前仅部分浏览器在开启试验性功能时才支持,如 Safari 开启 `WebRTC H265 codec`
     */
-  export type VideoCodec = 'vp8' | 'h264';
+  export type VideoCodec = 'vp8' | 'h264' | 'h265';
   /**
     * 流的音频的统计数据
     * @public

File diff suppressed because it is too large
+ 5 - 5
lib/index.js


+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@urtc/sdk-web",
-  "version": "2.0.0-alpha.8",
+  "version": "2.0.0-alpha.9",
   "description": "UCloud RTC javascript SDK",
   "main": "lib/index.js",
   "types": "lib/index.d.ts",