@volcengine/veplayer 2.4.0-rc.1 → 2.4.0-rc.3
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/esm/index.d.ts +2 -0
- package/esm/veplayer.biz.live.development.js +52 -3
- package/esm/veplayer.biz.live.production.js +1 -1
- package/esm/veplayer.d.ts +32 -4
- package/esm/veplayer.development.js +61 -7
- package/esm/veplayer.live.d.ts +32 -4
- package/esm/veplayer.live.development.js +61 -7
- package/esm/veplayer.live.production.js +4 -4
- package/esm/veplayer.production.js +4 -4
- package/esm/veplayer.vod.d.ts +2 -0
- package/esm/veplayer.vod.development.js +8 -3
- package/esm/veplayer.vod.production.js +3 -3
- package/package.json +1 -1
- package/umd/index.d.ts +2 -0
- package/umd/veplayer.biz.live.development.js +52 -3
- package/umd/veplayer.biz.live.production.js +1 -1
- package/umd/veplayer.d.ts +32 -4
- package/umd/veplayer.development.js +61 -7
- package/umd/veplayer.live.d.ts +32 -4
- package/umd/veplayer.live.development.js +61 -7
- package/umd/veplayer.live.production.js +1 -1
- package/umd/veplayer.production.js +1 -1
- package/umd/veplayer.vod.d.ts +2 -0
- package/umd/veplayer.vod.development.js +8 -3
- package/umd/veplayer.vod.production.js +1 -1
- package/veplayer.d.ts +32 -4
- package/veplayer.live.d.ts +32 -4
- package/veplayer.vod.d.ts +2 -0
package/esm/veplayer.d.ts
CHANGED
|
@@ -2019,6 +2019,7 @@ declare class VePlayerBase {
|
|
|
2019
2019
|
*
|
|
2020
2020
|
*/
|
|
2021
2021
|
fallbackToFirstDefinition?: boolean;
|
|
2022
|
+
seamless?: boolean;
|
|
2022
2023
|
}): Promise<ExposedDefinition>;
|
|
2023
2024
|
/** {zh}
|
|
2024
2025
|
* @brief 调用此方法更新拉流地址列表。
|
|
@@ -2187,6 +2188,7 @@ declare class VePlayerBase {
|
|
|
2187
2188
|
*/
|
|
2188
2189
|
ignorePaused?: boolean;
|
|
2189
2190
|
}): void;
|
|
2191
|
+
canPlayType(type: string): boolean;
|
|
2190
2192
|
/** {zh}
|
|
2191
2193
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
2192
2194
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -5304,7 +5306,7 @@ interface Abr {
|
|
|
5304
5306
|
downTip?: boolean;
|
|
5305
5307
|
debug?: boolean;
|
|
5306
5308
|
bitrate: number;
|
|
5307
|
-
urls
|
|
5309
|
+
urls?: {
|
|
5308
5310
|
[bitrate: number]: string;
|
|
5309
5311
|
};
|
|
5310
5312
|
}
|
|
@@ -5501,6 +5503,7 @@ interface Rtm {
|
|
|
5501
5503
|
* @default false
|
|
5502
5504
|
*/
|
|
5503
5505
|
enableRTMAutoTranscode?: boolean;
|
|
5506
|
+
networkEvaluateInterval?: number;
|
|
5504
5507
|
}
|
|
5505
5508
|
/** {zh}
|
|
5506
5509
|
* @list option
|
|
@@ -5560,6 +5563,7 @@ interface Flv {
|
|
|
5560
5563
|
abrPts?: string | number;
|
|
5561
5564
|
abr?: Abr;
|
|
5562
5565
|
mseLowLatency?: boolean;
|
|
5566
|
+
maxReaderInterval?: number;
|
|
5563
5567
|
}
|
|
5564
5568
|
/** {zh}
|
|
5565
5569
|
* @list option
|
|
@@ -5670,6 +5674,10 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5670
5674
|
* @hidden
|
|
5671
5675
|
*/
|
|
5672
5676
|
updateDrmConfig(config: FairplayDrmConfig): void;
|
|
5677
|
+
switchAbr({ enable, bitrate }: {
|
|
5678
|
+
enable: boolean;
|
|
5679
|
+
bitrate: number;
|
|
5680
|
+
}): void;
|
|
5673
5681
|
switch(target: string | {
|
|
5674
5682
|
/** {zh}
|
|
5675
5683
|
* @brief 清晰度的唯一标识。
|
|
@@ -5699,7 +5707,8 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5699
5707
|
*
|
|
5700
5708
|
*/
|
|
5701
5709
|
fallbackToFirstDefinition?: boolean;
|
|
5702
|
-
|
|
5710
|
+
seamless?: boolean;
|
|
5711
|
+
abr?: {
|
|
5703
5712
|
bitrate: number; // 默认起播的码率,必传
|
|
5704
5713
|
method?: number; // 选择abr算法编号
|
|
5705
5714
|
urls: {
|
|
@@ -5707,6 +5716,11 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5707
5716
|
}; // 可用的码率和对应的拉流地址
|
|
5708
5717
|
};
|
|
5709
5718
|
}): Promise<any>;
|
|
5719
|
+
getPlayTime(): number;
|
|
5720
|
+
getPlayerVersion(): string;
|
|
5721
|
+
getRTMNetWorkInfo(): any;
|
|
5722
|
+
getRTMStats(): Promise<any>;
|
|
5723
|
+
getFLVStats(): any;
|
|
5710
5724
|
}
|
|
5711
5725
|
/** {zh}
|
|
5712
5726
|
* @detail api
|
|
@@ -8725,6 +8739,7 @@ declare namespace live {
|
|
|
8725
8739
|
*
|
|
8726
8740
|
*/
|
|
8727
8741
|
fallbackToFirstDefinition?: boolean;
|
|
8742
|
+
seamless?: boolean;
|
|
8728
8743
|
}): Promise<ExposedDefinition>;
|
|
8729
8744
|
/** {zh}
|
|
8730
8745
|
* @brief 调用此方法更新拉流地址列表。
|
|
@@ -8893,6 +8908,7 @@ declare namespace live {
|
|
|
8893
8908
|
*/
|
|
8894
8909
|
ignorePaused?: boolean;
|
|
8895
8910
|
}): void;
|
|
8911
|
+
canPlayType(type: string): boolean;
|
|
8896
8912
|
/** {zh}
|
|
8897
8913
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
8898
8914
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -9854,7 +9870,7 @@ declare namespace live {
|
|
|
9854
9870
|
downTip?: boolean;
|
|
9855
9871
|
debug?: boolean;
|
|
9856
9872
|
bitrate: number;
|
|
9857
|
-
urls
|
|
9873
|
+
urls?: {
|
|
9858
9874
|
[bitrate: number]: string;
|
|
9859
9875
|
};
|
|
9860
9876
|
}
|
|
@@ -10051,6 +10067,7 @@ declare namespace live {
|
|
|
10051
10067
|
* @default false
|
|
10052
10068
|
*/
|
|
10053
10069
|
enableRTMAutoTranscode?: boolean;
|
|
10070
|
+
networkEvaluateInterval?: number;
|
|
10054
10071
|
}
|
|
10055
10072
|
/** {zh}
|
|
10056
10073
|
* @list option
|
|
@@ -10110,6 +10127,7 @@ declare namespace live {
|
|
|
10110
10127
|
abrPts?: string | number;
|
|
10111
10128
|
abr?: Abr;
|
|
10112
10129
|
mseLowLatency?: boolean;
|
|
10130
|
+
maxReaderInterval?: number;
|
|
10113
10131
|
}
|
|
10114
10132
|
/** {zh}
|
|
10115
10133
|
* @list option
|
|
@@ -10220,6 +10238,10 @@ declare namespace live {
|
|
|
10220
10238
|
* @hidden
|
|
10221
10239
|
*/
|
|
10222
10240
|
updateDrmConfig(config: FairplayDrmConfig): void;
|
|
10241
|
+
switchAbr({ enable, bitrate }: {
|
|
10242
|
+
enable: boolean;
|
|
10243
|
+
bitrate: number;
|
|
10244
|
+
}): void;
|
|
10223
10245
|
switch(target: string | {
|
|
10224
10246
|
/** {zh}
|
|
10225
10247
|
* @brief 清晰度的唯一标识。
|
|
@@ -10249,7 +10271,8 @@ declare namespace live {
|
|
|
10249
10271
|
*
|
|
10250
10272
|
*/
|
|
10251
10273
|
fallbackToFirstDefinition?: boolean;
|
|
10252
|
-
|
|
10274
|
+
seamless?: boolean;
|
|
10275
|
+
abr?: {
|
|
10253
10276
|
bitrate: number; // 默认起播的码率,必传
|
|
10254
10277
|
method?: number; // 选择abr算法编号
|
|
10255
10278
|
urls: {
|
|
@@ -10257,6 +10280,11 @@ declare namespace live {
|
|
|
10257
10280
|
}; // 可用的码率和对应的拉流地址
|
|
10258
10281
|
};
|
|
10259
10282
|
}): Promise<any>;
|
|
10283
|
+
getPlayTime(): number;
|
|
10284
|
+
getPlayerVersion(): string;
|
|
10285
|
+
getRTMNetWorkInfo(): any;
|
|
10286
|
+
getRTMStats(): Promise<any>;
|
|
10287
|
+
getFLVStats(): any;
|
|
10260
10288
|
}
|
|
10261
10289
|
/** {zh}
|
|
10262
10290
|
* @detail api
|
|
@@ -13869,7 +13869,7 @@ class VePlayerBase {
|
|
|
13869
13869
|
var _a, _b;
|
|
13870
13870
|
if (typeof target === "string" && this._sourceManager.sources.length === 1 && ((_b = (_a = this._sourceManager.sources) == null ? void 0 : _a[0].definitions) == null ? void 0 : _b.length) === 1) {
|
|
13871
13871
|
this._sourceManager.updateSources(target);
|
|
13872
|
-
await this._switchUrl(target);
|
|
13872
|
+
await this._switchUrl(target, { seamless: options == null ? void 0 : options.seamless });
|
|
13873
13873
|
return this._sourceManager.definition;
|
|
13874
13874
|
}
|
|
13875
13875
|
const targetDefinition = this._sourceManager.find(target, options);
|
|
@@ -14055,6 +14055,9 @@ class VePlayerBase {
|
|
|
14055
14055
|
blur(data) {
|
|
14056
14056
|
return this._player.blur(data);
|
|
14057
14057
|
}
|
|
14058
|
+
canPlayType(type) {
|
|
14059
|
+
return this._player.canPlayType(type);
|
|
14060
|
+
}
|
|
14058
14061
|
/** {zh}
|
|
14059
14062
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
14060
14063
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -14252,14 +14255,16 @@ class VePlayerBase {
|
|
|
14252
14255
|
this._player.changeDefinition(targetDefinition, preDefinition);
|
|
14253
14256
|
}
|
|
14254
14257
|
}
|
|
14255
|
-
async _switchUrl(url) {
|
|
14258
|
+
async _switchUrl(url, config) {
|
|
14256
14259
|
const { plugins: newPlugins, options } = await this.prepare(url) || {};
|
|
14257
14260
|
const newUrl = (options == null ? void 0 : options.url) ?? url;
|
|
14258
14261
|
this._sourceManager.url = newUrl;
|
|
14259
14262
|
if (newPlugins == null ? void 0 : newPlugins.length) {
|
|
14260
14263
|
this._callBeforePlayerInitForUrl(newPlugins, newUrl);
|
|
14261
14264
|
} else {
|
|
14262
|
-
const res = this._player.switchURL(newUrl,
|
|
14265
|
+
const res = this._player.switchURL(newUrl, {
|
|
14266
|
+
seamless: config == null ? void 0 : config.seamless
|
|
14267
|
+
});
|
|
14263
14268
|
const curTime = this._player.currentTime;
|
|
14264
14269
|
if (res && res.then) {
|
|
14265
14270
|
return res;
|
|
@@ -21890,10 +21895,10 @@ class Logger extends Plugin {
|
|
|
21890
21895
|
user_id: this._userId,
|
|
21891
21896
|
device_id: this._deviceId,
|
|
21892
21897
|
ext: {
|
|
21893
|
-
veplayer_version: "2.4.0-rc.
|
|
21894
|
-
flv_version: "3.0.
|
|
21898
|
+
veplayer_version: "2.4.0-rc.3",
|
|
21899
|
+
flv_version: "3.0.18-alpha.5",
|
|
21895
21900
|
hls_version: "3.0.17",
|
|
21896
|
-
rts_version: "0.2.
|
|
21901
|
+
rts_version: "0.2.1-alpha.0"
|
|
21897
21902
|
}
|
|
21898
21903
|
});
|
|
21899
21904
|
}
|
|
@@ -22199,7 +22204,10 @@ const getAbrStrategy = async (options) => {
|
|
|
22199
22204
|
const abrPlugin = await load(DynamicModule.PluginAbr).catch(() => void 0);
|
|
22200
22205
|
return {
|
|
22201
22206
|
options: {
|
|
22202
|
-
[streamType === "flv" ? "abr" : "hlsabr"]:
|
|
22207
|
+
[streamType === "flv" ? "abr" : "hlsabr"]: {
|
|
22208
|
+
...abrOptions,
|
|
22209
|
+
open: abrOptions.enable ?? true
|
|
22210
|
+
}
|
|
22203
22211
|
},
|
|
22204
22212
|
plugins: [
|
|
22205
22213
|
streamType === "flv" ? abrPlugin == null ? void 0 : abrPlugin.AbrPlugin : abrPlugin == null ? void 0 : abrPlugin.HlsAbrPlugin
|
|
@@ -22294,6 +22302,23 @@ class VePlayerLive extends VePlayerBase {
|
|
|
22294
22302
|
var _a, _b, _c;
|
|
22295
22303
|
(_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.drm) == null ? void 0 : _c.updateDrmConfig(config);
|
|
22296
22304
|
}
|
|
22305
|
+
switchAbr({ enable, bitrate }) {
|
|
22306
|
+
var _a, _b;
|
|
22307
|
+
if (!((_a = this._player.plugins) == null ? void 0 : _a.abr)) {
|
|
22308
|
+
return;
|
|
22309
|
+
}
|
|
22310
|
+
if (typeof bitrate !== "undefined") {
|
|
22311
|
+
const url = this._player.plugins.abr.config.urls[bitrate];
|
|
22312
|
+
if (!url) {
|
|
22313
|
+
return;
|
|
22314
|
+
}
|
|
22315
|
+
this.switch(url, { seamless: true });
|
|
22316
|
+
this._player.plugins.abr.bitrate = bitrate;
|
|
22317
|
+
}
|
|
22318
|
+
if (typeof enable !== "undefined") {
|
|
22319
|
+
(_b = this._player.plugins) == null ? void 0 : _b.abr.switchAbr(enable);
|
|
22320
|
+
}
|
|
22321
|
+
}
|
|
22297
22322
|
async switch(target, options) {
|
|
22298
22323
|
var _a, _b, _c;
|
|
22299
22324
|
const { abr, ...rest } = options ?? {};
|
|
@@ -22302,6 +22327,35 @@ class VePlayerLive extends VePlayerBase {
|
|
|
22302
22327
|
}
|
|
22303
22328
|
return super.switch(target, rest);
|
|
22304
22329
|
}
|
|
22330
|
+
getPlayTime() {
|
|
22331
|
+
var _a, _b, _c, _d;
|
|
22332
|
+
if (!((_b = (_a = this._player) == null ? void 0 : _a.played) == null ? void 0 : _b.length)) {
|
|
22333
|
+
return 0;
|
|
22334
|
+
}
|
|
22335
|
+
const length = this._player.played.length;
|
|
22336
|
+
let time = 0;
|
|
22337
|
+
for (let index = 0; index < length; index++) {
|
|
22338
|
+
const start = (_c = this._player) == null ? void 0 : _c.played.start(index);
|
|
22339
|
+
const end = (_d = this._player) == null ? void 0 : _d.played.end(index);
|
|
22340
|
+
time += end - start;
|
|
22341
|
+
}
|
|
22342
|
+
return time;
|
|
22343
|
+
}
|
|
22344
|
+
getPlayerVersion() {
|
|
22345
|
+
return "2.4.0-rc.3";
|
|
22346
|
+
}
|
|
22347
|
+
getRTMNetWorkInfo() {
|
|
22348
|
+
var _a, _b, _c;
|
|
22349
|
+
return (_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.rts) == null ? void 0 : _c.getNetWorkInfo();
|
|
22350
|
+
}
|
|
22351
|
+
async getRTMStats() {
|
|
22352
|
+
var _a;
|
|
22353
|
+
return (_a = this._player) == null ? void 0 : _a.plugins.rts.getStatsSnapshoot();
|
|
22354
|
+
}
|
|
22355
|
+
getFLVStats() {
|
|
22356
|
+
var _a, _b, _c;
|
|
22357
|
+
return (_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.flv) == null ? void 0 : _c.getStats();
|
|
22358
|
+
}
|
|
22305
22359
|
}
|
|
22306
22360
|
async function createLivePlayer(options) {
|
|
22307
22361
|
var _a, _b;
|
package/esm/veplayer.live.d.ts
CHANGED
|
@@ -2019,6 +2019,7 @@ declare class VePlayerBase {
|
|
|
2019
2019
|
*
|
|
2020
2020
|
*/
|
|
2021
2021
|
fallbackToFirstDefinition?: boolean;
|
|
2022
|
+
seamless?: boolean;
|
|
2022
2023
|
}): Promise<ExposedDefinition>;
|
|
2023
2024
|
/** {zh}
|
|
2024
2025
|
* @brief 调用此方法更新拉流地址列表。
|
|
@@ -2187,6 +2188,7 @@ declare class VePlayerBase {
|
|
|
2187
2188
|
*/
|
|
2188
2189
|
ignorePaused?: boolean;
|
|
2189
2190
|
}): void;
|
|
2191
|
+
canPlayType(type: string): boolean;
|
|
2190
2192
|
/** {zh}
|
|
2191
2193
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
2192
2194
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -5304,7 +5306,7 @@ interface Abr {
|
|
|
5304
5306
|
downTip?: boolean;
|
|
5305
5307
|
debug?: boolean;
|
|
5306
5308
|
bitrate: number;
|
|
5307
|
-
urls
|
|
5309
|
+
urls?: {
|
|
5308
5310
|
[bitrate: number]: string;
|
|
5309
5311
|
};
|
|
5310
5312
|
}
|
|
@@ -5501,6 +5503,7 @@ interface Rtm {
|
|
|
5501
5503
|
* @default false
|
|
5502
5504
|
*/
|
|
5503
5505
|
enableRTMAutoTranscode?: boolean;
|
|
5506
|
+
networkEvaluateInterval?: number;
|
|
5504
5507
|
}
|
|
5505
5508
|
/** {zh}
|
|
5506
5509
|
* @list option
|
|
@@ -5560,6 +5563,7 @@ interface Flv {
|
|
|
5560
5563
|
abrPts?: string | number;
|
|
5561
5564
|
abr?: Abr;
|
|
5562
5565
|
mseLowLatency?: boolean;
|
|
5566
|
+
maxReaderInterval?: number;
|
|
5563
5567
|
}
|
|
5564
5568
|
/** {zh}
|
|
5565
5569
|
* @list option
|
|
@@ -5670,6 +5674,10 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5670
5674
|
* @hidden
|
|
5671
5675
|
*/
|
|
5672
5676
|
updateDrmConfig(config: FairplayDrmConfig): void;
|
|
5677
|
+
switchAbr({ enable, bitrate }: {
|
|
5678
|
+
enable: boolean;
|
|
5679
|
+
bitrate: number;
|
|
5680
|
+
}): void;
|
|
5673
5681
|
switch(target: string | {
|
|
5674
5682
|
/** {zh}
|
|
5675
5683
|
* @brief 清晰度的唯一标识。
|
|
@@ -5699,7 +5707,8 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5699
5707
|
*
|
|
5700
5708
|
*/
|
|
5701
5709
|
fallbackToFirstDefinition?: boolean;
|
|
5702
|
-
|
|
5710
|
+
seamless?: boolean;
|
|
5711
|
+
abr?: {
|
|
5703
5712
|
bitrate: number; // 默认起播的码率,必传
|
|
5704
5713
|
method?: number; // 选择abr算法编号
|
|
5705
5714
|
urls: {
|
|
@@ -5707,6 +5716,11 @@ declare class VePlayerLive extends VePlayerBase {
|
|
|
5707
5716
|
}; // 可用的码率和对应的拉流地址
|
|
5708
5717
|
};
|
|
5709
5718
|
}): Promise<any>;
|
|
5719
|
+
getPlayTime(): number;
|
|
5720
|
+
getPlayerVersion(): string;
|
|
5721
|
+
getRTMNetWorkInfo(): any;
|
|
5722
|
+
getRTMStats(): Promise<any>;
|
|
5723
|
+
getFLVStats(): any;
|
|
5710
5724
|
}
|
|
5711
5725
|
/** {zh}
|
|
5712
5726
|
* @detail api
|
|
@@ -8725,6 +8739,7 @@ declare namespace live {
|
|
|
8725
8739
|
*
|
|
8726
8740
|
*/
|
|
8727
8741
|
fallbackToFirstDefinition?: boolean;
|
|
8742
|
+
seamless?: boolean;
|
|
8728
8743
|
}): Promise<ExposedDefinition>;
|
|
8729
8744
|
/** {zh}
|
|
8730
8745
|
* @brief 调用此方法更新拉流地址列表。
|
|
@@ -8893,6 +8908,7 @@ declare namespace live {
|
|
|
8893
8908
|
*/
|
|
8894
8909
|
ignorePaused?: boolean;
|
|
8895
8910
|
}): void;
|
|
8911
|
+
canPlayType(type: string): boolean;
|
|
8896
8912
|
/** {zh}
|
|
8897
8913
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
8898
8914
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -9854,7 +9870,7 @@ declare namespace live {
|
|
|
9854
9870
|
downTip?: boolean;
|
|
9855
9871
|
debug?: boolean;
|
|
9856
9872
|
bitrate: number;
|
|
9857
|
-
urls
|
|
9873
|
+
urls?: {
|
|
9858
9874
|
[bitrate: number]: string;
|
|
9859
9875
|
};
|
|
9860
9876
|
}
|
|
@@ -10051,6 +10067,7 @@ declare namespace live {
|
|
|
10051
10067
|
* @default false
|
|
10052
10068
|
*/
|
|
10053
10069
|
enableRTMAutoTranscode?: boolean;
|
|
10070
|
+
networkEvaluateInterval?: number;
|
|
10054
10071
|
}
|
|
10055
10072
|
/** {zh}
|
|
10056
10073
|
* @list option
|
|
@@ -10110,6 +10127,7 @@ declare namespace live {
|
|
|
10110
10127
|
abrPts?: string | number;
|
|
10111
10128
|
abr?: Abr;
|
|
10112
10129
|
mseLowLatency?: boolean;
|
|
10130
|
+
maxReaderInterval?: number;
|
|
10113
10131
|
}
|
|
10114
10132
|
/** {zh}
|
|
10115
10133
|
* @list option
|
|
@@ -10220,6 +10238,10 @@ declare namespace live {
|
|
|
10220
10238
|
* @hidden
|
|
10221
10239
|
*/
|
|
10222
10240
|
updateDrmConfig(config: FairplayDrmConfig): void;
|
|
10241
|
+
switchAbr({ enable, bitrate }: {
|
|
10242
|
+
enable: boolean;
|
|
10243
|
+
bitrate: number;
|
|
10244
|
+
}): void;
|
|
10223
10245
|
switch(target: string | {
|
|
10224
10246
|
/** {zh}
|
|
10225
10247
|
* @brief 清晰度的唯一标识。
|
|
@@ -10249,7 +10271,8 @@ declare namespace live {
|
|
|
10249
10271
|
*
|
|
10250
10272
|
*/
|
|
10251
10273
|
fallbackToFirstDefinition?: boolean;
|
|
10252
|
-
|
|
10274
|
+
seamless?: boolean;
|
|
10275
|
+
abr?: {
|
|
10253
10276
|
bitrate: number; // 默认起播的码率,必传
|
|
10254
10277
|
method?: number; // 选择abr算法编号
|
|
10255
10278
|
urls: {
|
|
@@ -10257,6 +10280,11 @@ declare namespace live {
|
|
|
10257
10280
|
}; // 可用的码率和对应的拉流地址
|
|
10258
10281
|
};
|
|
10259
10282
|
}): Promise<any>;
|
|
10283
|
+
getPlayTime(): number;
|
|
10284
|
+
getPlayerVersion(): string;
|
|
10285
|
+
getRTMNetWorkInfo(): any;
|
|
10286
|
+
getRTMStats(): Promise<any>;
|
|
10287
|
+
getFLVStats(): any;
|
|
10260
10288
|
}
|
|
10261
10289
|
/** {zh}
|
|
10262
10290
|
* @detail api
|
|
@@ -13869,7 +13869,7 @@ class VePlayerBase {
|
|
|
13869
13869
|
var _a, _b;
|
|
13870
13870
|
if (typeof target === "string" && this._sourceManager.sources.length === 1 && ((_b = (_a = this._sourceManager.sources) == null ? void 0 : _a[0].definitions) == null ? void 0 : _b.length) === 1) {
|
|
13871
13871
|
this._sourceManager.updateSources(target);
|
|
13872
|
-
await this._switchUrl(target);
|
|
13872
|
+
await this._switchUrl(target, { seamless: options == null ? void 0 : options.seamless });
|
|
13873
13873
|
return this._sourceManager.definition;
|
|
13874
13874
|
}
|
|
13875
13875
|
const targetDefinition = this._sourceManager.find(target, options);
|
|
@@ -14055,6 +14055,9 @@ class VePlayerBase {
|
|
|
14055
14055
|
blur(data) {
|
|
14056
14056
|
return this._player.blur(data);
|
|
14057
14057
|
}
|
|
14058
|
+
canPlayType(type) {
|
|
14059
|
+
return this._player.canPlayType(type);
|
|
14060
|
+
}
|
|
14058
14061
|
/** {zh}
|
|
14059
14062
|
* @brief 调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 `Events.FULLSCREEN_CHANGE`。
|
|
14060
14063
|
* @param el 全屏作用的 DOM 节点。
|
|
@@ -14252,14 +14255,16 @@ class VePlayerBase {
|
|
|
14252
14255
|
this._player.changeDefinition(targetDefinition, preDefinition);
|
|
14253
14256
|
}
|
|
14254
14257
|
}
|
|
14255
|
-
async _switchUrl(url) {
|
|
14258
|
+
async _switchUrl(url, config) {
|
|
14256
14259
|
const { plugins: newPlugins, options } = await this.prepare(url) || {};
|
|
14257
14260
|
const newUrl = (options == null ? void 0 : options.url) ?? url;
|
|
14258
14261
|
this._sourceManager.url = newUrl;
|
|
14259
14262
|
if (newPlugins == null ? void 0 : newPlugins.length) {
|
|
14260
14263
|
this._callBeforePlayerInitForUrl(newPlugins, newUrl);
|
|
14261
14264
|
} else {
|
|
14262
|
-
const res = this._player.switchURL(newUrl,
|
|
14265
|
+
const res = this._player.switchURL(newUrl, {
|
|
14266
|
+
seamless: config == null ? void 0 : config.seamless
|
|
14267
|
+
});
|
|
14263
14268
|
const curTime = this._player.currentTime;
|
|
14264
14269
|
if (res && res.then) {
|
|
14265
14270
|
return res;
|
|
@@ -21890,10 +21895,10 @@ class Logger extends Plugin {
|
|
|
21890
21895
|
user_id: this._userId,
|
|
21891
21896
|
device_id: this._deviceId,
|
|
21892
21897
|
ext: {
|
|
21893
|
-
veplayer_version: "2.4.0-rc.
|
|
21894
|
-
flv_version: "3.0.
|
|
21898
|
+
veplayer_version: "2.4.0-rc.3",
|
|
21899
|
+
flv_version: "3.0.18-alpha.5",
|
|
21895
21900
|
hls_version: "3.0.17",
|
|
21896
|
-
rts_version: "0.2.
|
|
21901
|
+
rts_version: "0.2.1-alpha.0"
|
|
21897
21902
|
}
|
|
21898
21903
|
});
|
|
21899
21904
|
}
|
|
@@ -22199,7 +22204,10 @@ const getAbrStrategy = async (options) => {
|
|
|
22199
22204
|
const abrPlugin = await load(DynamicModule.PluginAbr).catch(() => void 0);
|
|
22200
22205
|
return {
|
|
22201
22206
|
options: {
|
|
22202
|
-
[streamType === "flv" ? "abr" : "hlsabr"]:
|
|
22207
|
+
[streamType === "flv" ? "abr" : "hlsabr"]: {
|
|
22208
|
+
...abrOptions,
|
|
22209
|
+
open: abrOptions.enable ?? true
|
|
22210
|
+
}
|
|
22203
22211
|
},
|
|
22204
22212
|
plugins: [
|
|
22205
22213
|
streamType === "flv" ? abrPlugin == null ? void 0 : abrPlugin.AbrPlugin : abrPlugin == null ? void 0 : abrPlugin.HlsAbrPlugin
|
|
@@ -22294,6 +22302,23 @@ class VePlayerLive extends VePlayerBase {
|
|
|
22294
22302
|
var _a, _b, _c;
|
|
22295
22303
|
(_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.drm) == null ? void 0 : _c.updateDrmConfig(config);
|
|
22296
22304
|
}
|
|
22305
|
+
switchAbr({ enable, bitrate }) {
|
|
22306
|
+
var _a, _b;
|
|
22307
|
+
if (!((_a = this._player.plugins) == null ? void 0 : _a.abr)) {
|
|
22308
|
+
return;
|
|
22309
|
+
}
|
|
22310
|
+
if (typeof bitrate !== "undefined") {
|
|
22311
|
+
const url = this._player.plugins.abr.config.urls[bitrate];
|
|
22312
|
+
if (!url) {
|
|
22313
|
+
return;
|
|
22314
|
+
}
|
|
22315
|
+
this.switch(url, { seamless: true });
|
|
22316
|
+
this._player.plugins.abr.bitrate = bitrate;
|
|
22317
|
+
}
|
|
22318
|
+
if (typeof enable !== "undefined") {
|
|
22319
|
+
(_b = this._player.plugins) == null ? void 0 : _b.abr.switchAbr(enable);
|
|
22320
|
+
}
|
|
22321
|
+
}
|
|
22297
22322
|
async switch(target, options) {
|
|
22298
22323
|
var _a, _b, _c;
|
|
22299
22324
|
const { abr, ...rest } = options ?? {};
|
|
@@ -22302,6 +22327,35 @@ class VePlayerLive extends VePlayerBase {
|
|
|
22302
22327
|
}
|
|
22303
22328
|
return super.switch(target, rest);
|
|
22304
22329
|
}
|
|
22330
|
+
getPlayTime() {
|
|
22331
|
+
var _a, _b, _c, _d;
|
|
22332
|
+
if (!((_b = (_a = this._player) == null ? void 0 : _a.played) == null ? void 0 : _b.length)) {
|
|
22333
|
+
return 0;
|
|
22334
|
+
}
|
|
22335
|
+
const length = this._player.played.length;
|
|
22336
|
+
let time = 0;
|
|
22337
|
+
for (let index = 0; index < length; index++) {
|
|
22338
|
+
const start = (_c = this._player) == null ? void 0 : _c.played.start(index);
|
|
22339
|
+
const end = (_d = this._player) == null ? void 0 : _d.played.end(index);
|
|
22340
|
+
time += end - start;
|
|
22341
|
+
}
|
|
22342
|
+
return time;
|
|
22343
|
+
}
|
|
22344
|
+
getPlayerVersion() {
|
|
22345
|
+
return "2.4.0-rc.3";
|
|
22346
|
+
}
|
|
22347
|
+
getRTMNetWorkInfo() {
|
|
22348
|
+
var _a, _b, _c;
|
|
22349
|
+
return (_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.rts) == null ? void 0 : _c.getNetWorkInfo();
|
|
22350
|
+
}
|
|
22351
|
+
async getRTMStats() {
|
|
22352
|
+
var _a;
|
|
22353
|
+
return (_a = this._player) == null ? void 0 : _a.plugins.rts.getStatsSnapshoot();
|
|
22354
|
+
}
|
|
22355
|
+
getFLVStats() {
|
|
22356
|
+
var _a, _b, _c;
|
|
22357
|
+
return (_c = (_b = (_a = this._player) == null ? void 0 : _a.plugins) == null ? void 0 : _b.flv) == null ? void 0 : _c.getStats();
|
|
22358
|
+
}
|
|
22305
22359
|
}
|
|
22306
22360
|
async function createLivePlayer(options) {
|
|
22307
22361
|
var _a, _b;
|