trtc-electron-sdk 13.3.800-alpha.4 → 13.3.800-alpha.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.
@@ -103,8 +103,6 @@ export declare class TRTCVodPlayer implements IVodPlayer {
103
103
  * 重复调用会被忽略。
104
104
  *
105
105
  * @note 可以先调用 {@link preload} 预加载完成后再调用 start,也可以跳过 preload 直接调用 start。
106
- * @note 从 SDK 10.7 版本开始,需要通过 TXLiveBase#setLicence 设置 Licence 后方可成功播放,
107
- * 否则将播放失败(黑屏),全局仅设置一次即可。
108
106
  */
109
107
  start(): void;
110
108
  /**
@@ -132,14 +130,19 @@ export declare class TRTCVodPlayer implements IVodPlayer {
132
130
  */
133
131
  seek(msPos: number): void;
134
132
  /**
135
- * 无缝切换当前播放的媒体文件
133
+ * 切换当前播放的媒体文件
136
134
  *
137
- * 在后台预加载新的媒体源,待新源就绪后无缝切换,避免切换时出现黑屏。
138
- * 切换成功后触发 {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 事件,携带新文件的媒体信息。
135
+ * 底层实现等价于 `stop + 加载新源`,**切换后是否自动播放取决于切换前的状态**:
136
+ * - 切换前在播放中:底层会自动 Started 新源,业务方无需再调 {@link start}
137
+ * - 切换前在暂停中:底层只 Loaded 新源不自动播放,业务方需在
138
+ * {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 之后调 {@link start} 才会播。
139
+ *
140
+ * 切换过程中会按顺序触发:
141
+ * `onVodPlayerStopped` → `onVodPlayerLoaded`(新源信息) →
142
+ * `onVodPlayerStarted`(仅"切换前在播放中"路径才会有)。
139
143
  *
140
144
  * @param newMediaFile - 新的媒体文件路径或 URL
141
145
  *
142
- * @note 若当前处于暂停状态,切换后仍保持暂停并展示新文件第一帧。
143
146
  * @note 切换过程中调用 {@link stop} 会取消切换并停止当前播放。
144
147
  * @note 调用前必须先 {@link preload} 或 {@link start},否则会被忽略并打 warn 日志。
145
148
  * @note 传入空串会被忽略并打 warn 日志(C++ 层亦有同等保护)。
@@ -152,8 +152,6 @@ class TRTCVodPlayer {
152
152
  * 重复调用会被忽略。
153
153
  *
154
154
  * @note 可以先调用 {@link preload} 预加载完成后再调用 start,也可以跳过 preload 直接调用 start。
155
- * @note 从 SDK 10.7 版本开始,需要通过 TXLiveBase#setLicence 设置 Licence 后方可成功播放,
156
- * 否则将播放失败(黑屏),全局仅设置一次即可。
157
155
  */
158
156
  start() {
159
157
  var _a;
@@ -169,7 +167,6 @@ class TRTCVodPlayer {
169
167
  this._prepareRender();
170
168
  this.attachTRTC();
171
169
  (_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.start();
172
- this.isStarted = true;
173
170
  }
174
171
  /**
175
172
  * 停止播放
@@ -185,7 +182,6 @@ class TRTCVodPlayer {
185
182
  return;
186
183
  }
187
184
  if (this.isStarted) {
188
- this.isStarted = false;
189
185
  (_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.stop();
190
186
  this.detachTRTC();
191
187
  }
@@ -248,14 +244,19 @@ class TRTCVodPlayer {
248
244
  (_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.seek(msPos);
249
245
  }
250
246
  /**
251
- * 无缝切换当前播放的媒体文件
247
+ * 切换当前播放的媒体文件
252
248
  *
253
- * 在后台预加载新的媒体源,待新源就绪后无缝切换,避免切换时出现黑屏。
254
- * 切换成功后触发 {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 事件,携带新文件的媒体信息。
249
+ * 底层实现等价于 `stop + 加载新源`,**切换后是否自动播放取决于切换前的状态**:
250
+ * - 切换前在播放中:底层会自动 Started 新源,业务方无需再调 {@link start}
251
+ * - 切换前在暂停中:底层只 Loaded 新源不自动播放,业务方需在
252
+ * {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 之后调 {@link start} 才会播。
253
+ *
254
+ * 切换过程中会按顺序触发:
255
+ * `onVodPlayerStopped` → `onVodPlayerLoaded`(新源信息) →
256
+ * `onVodPlayerStarted`(仅"切换前在播放中"路径才会有)。
255
257
  *
256
258
  * @param newMediaFile - 新的媒体文件路径或 URL
257
259
  *
258
- * @note 若当前处于暂停状态,切换后仍保持暂停并展示新文件第一帧。
259
260
  * @note 切换过程中调用 {@link stop} 会取消切换并停止当前播放。
260
261
  * @note 调用前必须先 {@link preload} 或 {@link start},否则会被忽略并打 warn 日志。
261
262
  * @note 传入空串会被忽略并打 warn 日志(C++ 层亦有同等保护)。
@@ -597,8 +598,15 @@ class TRTCVodPlayer {
597
598
  _initEventCallback() {
598
599
  var _a;
599
600
  (_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.setEventCallback((args) => {
600
- switch (args[0]) {
601
+ const event = args[0];
602
+ if ((event === trtc_define_1.TRTCVodPlayerEvent.onVodPlayerStopped || event === trtc_define_1.TRTCVodPlayerEvent.onVodPlayerError) && this.isStarted) {
603
+ this.isStarted = false;
604
+ }
605
+ switch (event) {
601
606
  case trtc_define_1.TRTCVodPlayerEvent.onVodPlayerStarted:
607
+ if (!this.isStarted) {
608
+ this.isStarted = true;
609
+ }
602
610
  this.fire(trtc_define_1.TRTCVodPlayerEvent.onVodPlayerStarted, args[1].msLength);
603
611
  break;
604
612
  case trtc_define_1.TRTCVodPlayerEvent.onVodPlayerLoaded: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trtc-electron-sdk",
3
- "version": "13.3.800-alpha.4",
3
+ "version": "13.3.800-alpha.5",
4
4
  "description": "trtc electron sdk",
5
5
  "main": "./liteav/index.js",
6
6
  "types": "./liteav/index.d.ts",