trtc-electron-sdk 13.3.800-alpha.4 → 13.3.800-alpha.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.
- package/liteav/vod_player.d.ts +9 -7
- package/liteav/vod_player.js +20 -38
- package/package.json +1 -1
package/liteav/vod_player.d.ts
CHANGED
|
@@ -28,7 +28,6 @@ export declare class TRTCVodPlayer implements IVodPlayer {
|
|
|
28
28
|
private nativeVodPlayer;
|
|
29
29
|
private videoRender;
|
|
30
30
|
private mediaFilePath;
|
|
31
|
-
private isStarted;
|
|
32
31
|
private isDestroyed;
|
|
33
32
|
private isRenderPrepared;
|
|
34
33
|
private _setBufferRetryCount;
|
|
@@ -103,8 +102,6 @@ export declare class TRTCVodPlayer implements IVodPlayer {
|
|
|
103
102
|
* 重复调用会被忽略。
|
|
104
103
|
*
|
|
105
104
|
* @note 可以先调用 {@link preload} 预加载完成后再调用 start,也可以跳过 preload 直接调用 start。
|
|
106
|
-
* @note 从 SDK 10.7 版本开始,需要通过 TXLiveBase#setLicence 设置 Licence 后方可成功播放,
|
|
107
|
-
* 否则将播放失败(黑屏),全局仅设置一次即可。
|
|
108
105
|
*/
|
|
109
106
|
start(): void;
|
|
110
107
|
/**
|
|
@@ -132,14 +129,19 @@ export declare class TRTCVodPlayer implements IVodPlayer {
|
|
|
132
129
|
*/
|
|
133
130
|
seek(msPos: number): void;
|
|
134
131
|
/**
|
|
135
|
-
*
|
|
132
|
+
* 切换当前播放的媒体文件
|
|
136
133
|
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
134
|
+
* 底层实现等价于 `stop + 加载新源`,**切换后是否自动播放取决于切换前的状态**:
|
|
135
|
+
* - 切换前在播放中:底层会自动 Started 新源,业务方无需再调 {@link start};
|
|
136
|
+
* - 切换前在暂停中:底层只 Loaded 新源不自动播放,业务方需在
|
|
137
|
+
* {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 之后调 {@link start} 才会播。
|
|
138
|
+
*
|
|
139
|
+
* 切换过程中会按顺序触发:
|
|
140
|
+
* `onVodPlayerStopped` → `onVodPlayerLoaded`(新源信息) →
|
|
141
|
+
* `onVodPlayerStarted`(仅"切换前在播放中"路径才会有)。
|
|
139
142
|
*
|
|
140
143
|
* @param newMediaFile - 新的媒体文件路径或 URL
|
|
141
144
|
*
|
|
142
|
-
* @note 若当前处于暂停状态,切换后仍保持暂停并展示新文件第一帧。
|
|
143
145
|
* @note 切换过程中调用 {@link stop} 会取消切换并停止当前播放。
|
|
144
146
|
* @note 调用前必须先 {@link preload} 或 {@link start},否则会被忽略并打 warn 日志。
|
|
145
147
|
* @note 传入空串会被忽略并打 warn 日志(C++ 层亦有同等保护)。
|
package/liteav/vod_player.js
CHANGED
|
@@ -36,7 +36,6 @@ class TRTCVodPlayer {
|
|
|
36
36
|
this._dataRenderCallback = this._dataRenderCallback.bind(this);
|
|
37
37
|
this.nativeVodPlayer = new NodeTRTCEngine.NodeVodPlayer(mediaFilePath, repeat);
|
|
38
38
|
this.mediaFilePath = mediaFilePath;
|
|
39
|
-
this.isStarted = false;
|
|
40
39
|
this.isDestroyed = false;
|
|
41
40
|
this.isRenderPrepared = false;
|
|
42
41
|
this._setBufferRetryCount = 0;
|
|
@@ -135,10 +134,6 @@ class TRTCVodPlayer {
|
|
|
135
134
|
this.logger.warn('preload: player already destroyed');
|
|
136
135
|
return;
|
|
137
136
|
}
|
|
138
|
-
if (this.isStarted) {
|
|
139
|
-
this.logger.warn('preload: already started, ignored');
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
137
|
this.logger.info(`preload mediaFile: ${this.mediaFilePath}`);
|
|
143
138
|
this._prepareRender();
|
|
144
139
|
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.preload();
|
|
@@ -152,24 +147,18 @@ class TRTCVodPlayer {
|
|
|
152
147
|
* 重复调用会被忽略。
|
|
153
148
|
*
|
|
154
149
|
* @note 可以先调用 {@link preload} 预加载完成后再调用 start,也可以跳过 preload 直接调用 start。
|
|
155
|
-
* @note 从 SDK 10.7 版本开始,需要通过 TXLiveBase#setLicence 设置 Licence 后方可成功播放,
|
|
156
|
-
* 否则将播放失败(黑屏),全局仅设置一次即可。
|
|
157
150
|
*/
|
|
158
151
|
start() {
|
|
159
|
-
var _a;
|
|
152
|
+
var _a, _b;
|
|
160
153
|
if (this.isDestroyed) {
|
|
161
154
|
this.logger.warn('start: player already destroyed');
|
|
162
155
|
return;
|
|
163
156
|
}
|
|
164
157
|
this.logger.info(`start mediaFile: ${this.mediaFilePath}`);
|
|
165
|
-
if (this.isStarted) {
|
|
166
|
-
this.logger.warn('start: already started, ignored');
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
158
|
this._prepareRender();
|
|
170
159
|
this.attachTRTC();
|
|
171
160
|
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.start();
|
|
172
|
-
this.
|
|
161
|
+
(_b = this.nativeVodPlayer) === null || _b === void 0 ? void 0 : _b.resume();
|
|
173
162
|
}
|
|
174
163
|
/**
|
|
175
164
|
* 停止播放
|
|
@@ -181,14 +170,8 @@ class TRTCVodPlayer {
|
|
|
181
170
|
return;
|
|
182
171
|
}
|
|
183
172
|
this.logger.info('stop');
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
}
|
|
187
|
-
if (this.isStarted) {
|
|
188
|
-
this.isStarted = false;
|
|
189
|
-
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.stop();
|
|
190
|
-
this.detachTRTC();
|
|
191
|
-
}
|
|
173
|
+
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.stop();
|
|
174
|
+
this.detachTRTC();
|
|
192
175
|
this._teardownRender();
|
|
193
176
|
}
|
|
194
177
|
/**
|
|
@@ -202,10 +185,6 @@ class TRTCVodPlayer {
|
|
|
202
185
|
this.logger.warn('pause: player already destroyed');
|
|
203
186
|
return;
|
|
204
187
|
}
|
|
205
|
-
if (!this.isStarted) {
|
|
206
|
-
this.logger.warn('pause: player not started, ignored');
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
188
|
this.logger.info('pause');
|
|
210
189
|
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.pause();
|
|
211
190
|
}
|
|
@@ -215,17 +194,14 @@ class TRTCVodPlayer {
|
|
|
215
194
|
* @note 仅在 {@link start} 之后调用才有效;未播放时调用会被忽略并打 warn 日志。
|
|
216
195
|
*/
|
|
217
196
|
resume() {
|
|
218
|
-
var _a;
|
|
197
|
+
var _a, _b;
|
|
219
198
|
if (this.isDestroyed) {
|
|
220
199
|
this.logger.warn('resume: player already destroyed');
|
|
221
200
|
return;
|
|
222
201
|
}
|
|
223
|
-
if (!this.isStarted) {
|
|
224
|
-
this.logger.warn('resume: player not started, ignored');
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
202
|
this.logger.info('resume');
|
|
228
|
-
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.
|
|
203
|
+
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.start();
|
|
204
|
+
(_b = this.nativeVodPlayer) === null || _b === void 0 ? void 0 : _b.resume();
|
|
229
205
|
}
|
|
230
206
|
/**
|
|
231
207
|
* 跳转到指定播放位置(seek)
|
|
@@ -240,7 +216,7 @@ class TRTCVodPlayer {
|
|
|
240
216
|
this.logger.warn('seek: player already destroyed');
|
|
241
217
|
return;
|
|
242
218
|
}
|
|
243
|
-
if (!this.
|
|
219
|
+
if (!this.isRenderPrepared) {
|
|
244
220
|
this.logger.warn(`seek: player not preloaded or started, ignored (msPos=${msPos})`);
|
|
245
221
|
return;
|
|
246
222
|
}
|
|
@@ -248,14 +224,19 @@ class TRTCVodPlayer {
|
|
|
248
224
|
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.seek(msPos);
|
|
249
225
|
}
|
|
250
226
|
/**
|
|
251
|
-
*
|
|
227
|
+
* 切换当前播放的媒体文件
|
|
252
228
|
*
|
|
253
|
-
*
|
|
254
|
-
*
|
|
229
|
+
* 底层实现等价于 `stop + 加载新源`,**切换后是否自动播放取决于切换前的状态**:
|
|
230
|
+
* - 切换前在播放中:底层会自动 Started 新源,业务方无需再调 {@link start};
|
|
231
|
+
* - 切换前在暂停中:底层只 Loaded 新源不自动播放,业务方需在
|
|
232
|
+
* {@link TRTCVodPlayerEvent.onVodPlayerLoaded} 之后调 {@link start} 才会播。
|
|
233
|
+
*
|
|
234
|
+
* 切换过程中会按顺序触发:
|
|
235
|
+
* `onVodPlayerStopped` → `onVodPlayerLoaded`(新源信息) →
|
|
236
|
+
* `onVodPlayerStarted`(仅"切换前在播放中"路径才会有)。
|
|
255
237
|
*
|
|
256
238
|
* @param newMediaFile - 新的媒体文件路径或 URL
|
|
257
239
|
*
|
|
258
|
-
* @note 若当前处于暂停状态,切换后仍保持暂停并展示新文件第一帧。
|
|
259
240
|
* @note 切换过程中调用 {@link stop} 会取消切换并停止当前播放。
|
|
260
241
|
* @note 调用前必须先 {@link preload} 或 {@link start},否则会被忽略并打 warn 日志。
|
|
261
242
|
* @note 传入空串会被忽略并打 warn 日志(C++ 层亦有同等保护)。
|
|
@@ -270,7 +251,7 @@ class TRTCVodPlayer {
|
|
|
270
251
|
this.logger.warn('switchSource: newMediaFile is empty, ignored');
|
|
271
252
|
return;
|
|
272
253
|
}
|
|
273
|
-
if (!this.
|
|
254
|
+
if (!this.isRenderPrepared) {
|
|
274
255
|
this.logger.warn(`switchSource: player not preloaded or started, ignored (newMediaFile=${newMediaFile})`);
|
|
275
256
|
return;
|
|
276
257
|
}
|
|
@@ -597,7 +578,8 @@ class TRTCVodPlayer {
|
|
|
597
578
|
_initEventCallback() {
|
|
598
579
|
var _a;
|
|
599
580
|
(_a = this.nativeVodPlayer) === null || _a === void 0 ? void 0 : _a.setEventCallback((args) => {
|
|
600
|
-
|
|
581
|
+
const event = args[0];
|
|
582
|
+
switch (event) {
|
|
601
583
|
case trtc_define_1.TRTCVodPlayerEvent.onVodPlayerStarted:
|
|
602
584
|
this.fire(trtc_define_1.TRTCVodPlayerEvent.onVodPlayerStarted, args[1].msLength);
|
|
603
585
|
break;
|