@volcengine/veplayer 1.9.1 → 1.9.3-rc.0
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/index.d.ts +713 -56
- package/index.min.css +1 -1
- package/index.min.js +2 -2
- package/package.json +1 -1
- package/plugin/dash.js +2 -2
- package/plugin/preloader.js +2 -0
- package/plugin/vestrategy.js +1 -1
- package/plugin/vestrategy_h265.js +1 -1
- package/plugin/vestrategy_preload.js +1 -0
package/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import VeStrategy from '@byted/volcengine-vestrategy';
|
|
2
|
+
import { StrategyRecommendation } from '@byted/volcengine-vestrategy';
|
|
3
|
+
import { VeStrategyH265Config } from '@byted/volcengine-vestrategy-h265';
|
|
4
|
+
import { PreloaderManager as PreloaderManagerOrigin } from '@byted/volcengine-vestrategy-preload';
|
|
1
5
|
import VodLogger from '@byted/xgplayer-app-logger/es/logger.js';
|
|
2
|
-
import VeStrategy from '@volcengine/vestrategy';
|
|
3
|
-
import { StrategyRecommendation, VeStrategyInitOptions } from '@volcengine/vestrategy';
|
|
4
|
-
import { VeStrategyH265Config } from '@volcengine/vestrategy-h265';
|
|
5
6
|
import EventEmitter from 'eventemitter3';
|
|
6
7
|
import Player from 'xgplayer';
|
|
7
8
|
import { BasePlugin, I18N, IXGI18nText, Plugin } from 'xgplayer';
|
|
@@ -199,7 +200,8 @@ export interface IRtmConfig {
|
|
|
199
200
|
* @kind property
|
|
200
201
|
*/
|
|
201
202
|
/** {en}
|
|
202
|
-
* @
|
|
203
|
+
* @list Options
|
|
204
|
+
* @kind property
|
|
203
205
|
*/
|
|
204
206
|
export interface IDanmuConfig {
|
|
205
207
|
/**
|
|
@@ -306,7 +308,11 @@ export interface IMaskConfig {
|
|
|
306
308
|
maskOffset?: number;
|
|
307
309
|
interval?: number;
|
|
308
310
|
}
|
|
309
|
-
/**
|
|
311
|
+
/** {zh}
|
|
312
|
+
* @hidden
|
|
313
|
+
* @brief 语言类型
|
|
314
|
+
*/
|
|
315
|
+
/** {en}
|
|
310
316
|
* @hidden
|
|
311
317
|
* @brief 语言类型
|
|
312
318
|
*/
|
|
@@ -315,7 +321,7 @@ export interface Lang {
|
|
|
315
321
|
en: string;
|
|
316
322
|
[props: string]: string;
|
|
317
323
|
}
|
|
318
|
-
/**
|
|
324
|
+
/** {zh}
|
|
319
325
|
* @brief 弹幕项
|
|
320
326
|
* @list Options
|
|
321
327
|
* @kind property
|
|
@@ -323,7 +329,11 @@ export interface Lang {
|
|
|
323
329
|
* @interface DanmuItem
|
|
324
330
|
*/
|
|
325
331
|
/** {en}
|
|
326
|
-
* @
|
|
332
|
+
* @list Options
|
|
333
|
+
* @kind property
|
|
334
|
+
* @export
|
|
335
|
+
* @interface DanmuItem
|
|
336
|
+
* @brief 弹幕项
|
|
327
337
|
*/
|
|
328
338
|
export interface DanmuItem {
|
|
329
339
|
/**
|
|
@@ -1359,6 +1369,146 @@ export declare type IPlayerOptions = {
|
|
|
1359
1369
|
volumeColor?: string;
|
|
1360
1370
|
};
|
|
1361
1371
|
};
|
|
1372
|
+
/**
|
|
1373
|
+
* @brief mobile端交互配置。
|
|
1374
|
+
* @list Options
|
|
1375
|
+
* @kind property
|
|
1376
|
+
*/
|
|
1377
|
+
export interface IMobileConfig {
|
|
1378
|
+
/**
|
|
1379
|
+
* @brief 是否禁用手势,手势包括:
|
|
1380
|
+
* - 水平手势滑动快进/快退
|
|
1381
|
+
* - 左侧手势滑动调节亮度
|
|
1382
|
+
* - 右侧手势滑动调节音量(iOS不可用)
|
|
1383
|
+
* @default false
|
|
1384
|
+
*/
|
|
1385
|
+
disableGesture?: boolean;
|
|
1386
|
+
/**
|
|
1387
|
+
* @brief 是否启用水平手势处理,水平手势快进/快退
|
|
1388
|
+
* @default false
|
|
1389
|
+
*/
|
|
1390
|
+
gestureX?: boolean;
|
|
1391
|
+
/**
|
|
1392
|
+
* @brief 是否启用垂直手势处理, 垂直手势包括屏幕右侧和屏幕左侧,默认左侧调节亮度,右侧调节音量,左右范围比例通过scopeL和scopeR设置
|
|
1393
|
+
* @default false
|
|
1394
|
+
*/
|
|
1395
|
+
gestureY?: boolean;
|
|
1396
|
+
/**
|
|
1397
|
+
* @brief 左侧手势范围比例,取值0-1
|
|
1398
|
+
* @default 0.25
|
|
1399
|
+
*/
|
|
1400
|
+
scopeL?: number;
|
|
1401
|
+
/**
|
|
1402
|
+
* @brief 右侧手势范围,取值0-1
|
|
1403
|
+
* @default 0.25
|
|
1404
|
+
*/
|
|
1405
|
+
scopeR?: number;
|
|
1406
|
+
/**
|
|
1407
|
+
* @brief 是否启用左侧调暗功能,因为web端无法调用系统的亮度,这个功能实际使用透明蒙层实
|
|
1408
|
+
* @default true
|
|
1409
|
+
*/
|
|
1410
|
+
darkness?: boolean;
|
|
1411
|
+
/**
|
|
1412
|
+
* @brief 播放器可调节的最大暗度,即蒙层最大透明度
|
|
1413
|
+
* @default 0.6
|
|
1414
|
+
*/
|
|
1415
|
+
maxDarkness?: number;
|
|
1416
|
+
/**
|
|
1417
|
+
* @brief 是否启用上下渐变阴影,即在播放器在激活时上下范围内有阴影
|
|
1418
|
+
* - normal 上下阴影
|
|
1419
|
+
* - none 无阴影
|
|
1420
|
+
* - top 仅上阴影
|
|
1421
|
+
* - bottom 仅下阴影
|
|
1422
|
+
* @default normal
|
|
1423
|
+
*/
|
|
1424
|
+
gradient?: "normal" | "none" | "top" | "bottom";
|
|
1425
|
+
/**
|
|
1426
|
+
* @brief 是否在touchMove事件触发时(即手势滑动时)同时更新播放器的currentTime, 在手势移动过程中,不会直接调用播放器的快进快退,在toucheEnd的时候再设置
|
|
1427
|
+
* @default false
|
|
1428
|
+
*/
|
|
1429
|
+
isTouchingSeek?: boolean;
|
|
1430
|
+
/**
|
|
1431
|
+
* @brief 手势滑动的最小步伐,单位px,即滑动距离超过多少算作滑动,以减少不必要的滑动手势事件触发
|
|
1432
|
+
* @default 5
|
|
1433
|
+
*/
|
|
1434
|
+
miniMoveStep?: number;
|
|
1435
|
+
/**
|
|
1436
|
+
* @brief 长按快进倍速
|
|
1437
|
+
* @default 2
|
|
1438
|
+
*/
|
|
1439
|
+
pressRate?: number;
|
|
1440
|
+
/**
|
|
1441
|
+
* @brief 是否禁用时间预览雪碧图面板
|
|
1442
|
+
* @notice 前提需要配置进度条预览雪碧图 thumbnail
|
|
1443
|
+
* @default true
|
|
1444
|
+
*/
|
|
1445
|
+
disableActive?: boolean;
|
|
1446
|
+
/**
|
|
1447
|
+
* @brief 是否禁用时间进度条,即拖动时不展示mini进度条
|
|
1448
|
+
* @default false
|
|
1449
|
+
*/
|
|
1450
|
+
disableTimeProgress?: boolean;
|
|
1451
|
+
/**
|
|
1452
|
+
* @brief 手势拖动的时候是否隐藏控制栏
|
|
1453
|
+
* @default true
|
|
1454
|
+
*/
|
|
1455
|
+
hideControlsActive?: boolean;
|
|
1456
|
+
/**
|
|
1457
|
+
* @brief 手势结束时隐藏控制栏
|
|
1458
|
+
* @default false
|
|
1459
|
+
*/
|
|
1460
|
+
hideControlsEnd?: boolean;
|
|
1461
|
+
/**
|
|
1462
|
+
* @brief 滑动播放器区域快进/快退时,播放器区域对应的时长,即完整滑过播放器所对应的时长,单位ms
|
|
1463
|
+
* @default 360000
|
|
1464
|
+
*/
|
|
1465
|
+
moveDuration?: number;
|
|
1466
|
+
/**
|
|
1467
|
+
* @brief 是否关闭双击切换暂停/播放的能力,同closeVideoDblclick
|
|
1468
|
+
* @default false
|
|
1469
|
+
*/
|
|
1470
|
+
closedbClick?: boolean;
|
|
1471
|
+
/**
|
|
1472
|
+
* @brief 禁用长按倍速调整
|
|
1473
|
+
* @default true
|
|
1474
|
+
*/
|
|
1475
|
+
disablePress?: boolean;
|
|
1476
|
+
/**
|
|
1477
|
+
* @brief 是否禁用快进/快退的时候按钮提示
|
|
1478
|
+
* @default false
|
|
1479
|
+
*/
|
|
1480
|
+
disableSeekIcon?: boolean;
|
|
1481
|
+
}
|
|
1482
|
+
/**
|
|
1483
|
+
* @brief 播放器中间切换暂停/播放的按钮。
|
|
1484
|
+
* @list Options
|
|
1485
|
+
* @kind property
|
|
1486
|
+
*/
|
|
1487
|
+
export interface IStartConfig {
|
|
1488
|
+
/**
|
|
1489
|
+
* @brief 暂停是否常驻
|
|
1490
|
+
* @default true
|
|
1491
|
+
*/
|
|
1492
|
+
isShowPause?: boolean;
|
|
1493
|
+
/**
|
|
1494
|
+
* @brief 是否播放结束常驻
|
|
1495
|
+
* @default false
|
|
1496
|
+
*/
|
|
1497
|
+
isShowEnd?: boolean;
|
|
1498
|
+
/**
|
|
1499
|
+
* @brief 是否禁用点击动画
|
|
1500
|
+
* @default pc:true,mobile:false
|
|
1501
|
+
*/
|
|
1502
|
+
disableAnimate?: boolean;
|
|
1503
|
+
/**
|
|
1504
|
+
* @brief 按钮的跟随模式
|
|
1505
|
+
* - hide:起播之后隐藏
|
|
1506
|
+
* - show:常驻一直存在
|
|
1507
|
+
* - auto:自动跟随,播放器激活时即player.isActive=true的时候显示,否则隐藏
|
|
1508
|
+
* @default hide
|
|
1509
|
+
*/
|
|
1510
|
+
mode?: "hide" | "show" | "auto";
|
|
1511
|
+
}
|
|
1362
1512
|
/**
|
|
1363
1513
|
* @brief 自动播放配置。
|
|
1364
1514
|
* @list Options
|
|
@@ -1408,7 +1558,7 @@ export interface IAutoplayPluginConfig {
|
|
|
1408
1558
|
*/
|
|
1409
1559
|
enableUserActionAutoplay?: boolean;
|
|
1410
1560
|
/**
|
|
1411
|
-
* @brief
|
|
1561
|
+
* @brief 静音自动播放时,是否在播放器容器上居中展示取消静音的大按钮。
|
|
1412
1562
|
* @default true
|
|
1413
1563
|
*/
|
|
1414
1564
|
showUnmuteBtn?: boolean;
|
|
@@ -1462,12 +1612,13 @@ export declare const enum TOGGLE_MODES {
|
|
|
1462
1612
|
*/
|
|
1463
1613
|
export interface IPlayListItem {
|
|
1464
1614
|
/**
|
|
1465
|
-
* @notes
|
|
1615
|
+
* @notes 临时播放 Token 为空时,此参数必传。
|
|
1466
1616
|
* @default -
|
|
1467
1617
|
* @listtip `playAuthToken` 为空时,此参数必传。
|
|
1468
1618
|
* @brief 视频地址。
|
|
1469
1619
|
*/
|
|
1470
1620
|
/** {en}
|
|
1621
|
+
* @notes 临时播放 Token 为空时,此参数必传。
|
|
1471
1622
|
*/
|
|
1472
1623
|
url?: string;
|
|
1473
1624
|
/**
|
|
@@ -1902,18 +2053,21 @@ export declare class MemoryPlay extends Plugin {
|
|
|
1902
2053
|
getTimeByStorage(memoryId: string): string | 0;
|
|
1903
2054
|
destroy(): void;
|
|
1904
2055
|
}
|
|
2056
|
+
declare enum EDRMTYPE {
|
|
2057
|
+
DRM_ENCRYPT = "drm_encrypt"
|
|
2058
|
+
}
|
|
1905
2059
|
export interface IPlayInfoListItem {
|
|
1906
2060
|
BackupPlayUrl: string;
|
|
1907
2061
|
BackupUrlExpire: string;
|
|
1908
2062
|
BarrageMaskOffset: string;
|
|
1909
2063
|
Bitrate: number;
|
|
1910
2064
|
CheckInfo: string;
|
|
1911
|
-
Codec:
|
|
2065
|
+
Codec: CodecType;
|
|
1912
2066
|
Definition: string;
|
|
1913
2067
|
Duration: number;
|
|
1914
2068
|
FileId: string;
|
|
1915
2069
|
FileType: string;
|
|
1916
|
-
Format:
|
|
2070
|
+
Format: EVideoFormat | EAudioFormat;
|
|
1917
2071
|
Height: number;
|
|
1918
2072
|
IndexRange: string;
|
|
1919
2073
|
InitRange: string;
|
|
@@ -1928,16 +2082,85 @@ export interface IPlayInfoListItem {
|
|
|
1928
2082
|
Size: number;
|
|
1929
2083
|
Volume?: number;
|
|
1930
2084
|
Width: number;
|
|
2085
|
+
DrmType?: EDRMTYPE;
|
|
2086
|
+
}
|
|
2087
|
+
export interface ISubtitleInfoList {
|
|
2088
|
+
CreateTime: string;
|
|
2089
|
+
FileId: string;
|
|
2090
|
+
Format: string;
|
|
2091
|
+
Language: string;
|
|
2092
|
+
LanguageId: number;
|
|
2093
|
+
Source: string;
|
|
2094
|
+
Status: string;
|
|
2095
|
+
StoreUri: string;
|
|
2096
|
+
SubtitleId: string;
|
|
2097
|
+
SubtitleUrl: string;
|
|
2098
|
+
Tag: string;
|
|
2099
|
+
Title: string;
|
|
2100
|
+
Version: string;
|
|
2101
|
+
Vid: string;
|
|
2102
|
+
}
|
|
2103
|
+
export interface IThumbInfoList {
|
|
2104
|
+
CaptureNum: number;
|
|
2105
|
+
CellHeight: number;
|
|
2106
|
+
CellWidth: number;
|
|
2107
|
+
Format: string;
|
|
2108
|
+
ImgXLen: number;
|
|
2109
|
+
ImgYLen: number;
|
|
2110
|
+
Interval: number;
|
|
2111
|
+
StoreUrls: string[];
|
|
2112
|
+
}
|
|
2113
|
+
export interface IBarrageMaskInfo {
|
|
2114
|
+
Version: string;
|
|
2115
|
+
BarrageMaskUrl: string;
|
|
2116
|
+
FileId: string;
|
|
2117
|
+
FileSize: number;
|
|
2118
|
+
FileHash: string;
|
|
2119
|
+
UpdatedAt: string;
|
|
2120
|
+
Bitrate: number;
|
|
2121
|
+
HeadLen: number;
|
|
2122
|
+
}
|
|
2123
|
+
export interface IGetPlayInfoRes {
|
|
2124
|
+
Vid: string;
|
|
2125
|
+
AdaptiveInfo?: any;
|
|
2126
|
+
BarrageMaskInfo?: IBarrageMaskInfo;
|
|
2127
|
+
BarrageMaskUrl: string;
|
|
2128
|
+
Duration: number;
|
|
2129
|
+
EnableAdaptive: boolean;
|
|
2130
|
+
FileType: string;
|
|
2131
|
+
PlayInfoList: IPlayInfoListItem[];
|
|
2132
|
+
PosterUrl: string;
|
|
2133
|
+
Status: number;
|
|
2134
|
+
SubtitleInfoList: ISubtitleInfoList[];
|
|
2135
|
+
ThumbInfoList: IThumbInfoList[];
|
|
2136
|
+
TotalCount: number;
|
|
2137
|
+
Version: number;
|
|
1931
2138
|
}
|
|
1932
2139
|
declare enum CodecType {
|
|
2140
|
+
/** {zh}
|
|
2141
|
+
* @brief H.264
|
|
2142
|
+
*/
|
|
2143
|
+
H264 = "h264",
|
|
1933
2144
|
/** {zh}
|
|
1934
2145
|
* @brief H.265
|
|
1935
2146
|
*/
|
|
1936
2147
|
H265 = "h265",
|
|
1937
2148
|
/** {zh}
|
|
1938
|
-
* @brief H.
|
|
2149
|
+
* @brief H.266
|
|
1939
2150
|
*/
|
|
1940
|
-
|
|
2151
|
+
H266 = "h266",
|
|
2152
|
+
/** {zh}
|
|
2153
|
+
* @brief 音频AAC,含 heaacv2
|
|
2154
|
+
*/
|
|
2155
|
+
AAC = "aac",
|
|
2156
|
+
/** {zh}
|
|
2157
|
+
* @brief 音频MP3
|
|
2158
|
+
*/
|
|
2159
|
+
MP3 = "mp3",
|
|
2160
|
+
/** {zh}
|
|
2161
|
+
* @brief 音频OPUS
|
|
2162
|
+
*/
|
|
2163
|
+
OPUS = "opus",
|
|
1941
2164
|
/** {zh}
|
|
1942
2165
|
* @brief 未知编码格式
|
|
1943
2166
|
*/
|
|
@@ -1946,6 +2169,19 @@ declare enum CodecType {
|
|
|
1946
2169
|
declare enum RTMCodec {
|
|
1947
2170
|
H264 = "h264"
|
|
1948
2171
|
}
|
|
2172
|
+
declare enum EVideoFormat {
|
|
2173
|
+
MP4 = "mp4",
|
|
2174
|
+
DASH = "dash",
|
|
2175
|
+
HLS = "hls"
|
|
2176
|
+
}
|
|
2177
|
+
declare enum EAudioFormat {
|
|
2178
|
+
M4A = "m4a",
|
|
2179
|
+
MP4 = "mp4",
|
|
2180
|
+
MP3 = "mp3",
|
|
2181
|
+
DASH = "dash",
|
|
2182
|
+
HLS = "hls",
|
|
2183
|
+
OGG = "ogg"
|
|
2184
|
+
}
|
|
1949
2185
|
/** {zh}
|
|
1950
2186
|
* @brief 区域类型:
|
|
1951
2187
|
* - `'cn'`:中国内地
|
|
@@ -1953,6 +2189,8 @@ declare enum RTMCodec {
|
|
|
1953
2189
|
* - `'sg'`:暂不生效
|
|
1954
2190
|
* - `'va'`:暂不生效
|
|
1955
2191
|
*/
|
|
2192
|
+
/** {en}
|
|
2193
|
+
*/
|
|
1956
2194
|
export declare type TRegionType = "cn" | "mya" | "va" | "sg";
|
|
1957
2195
|
/** {zh}
|
|
1958
2196
|
* @brief 音乐循环模式:
|
|
@@ -1961,6 +2199,8 @@ export declare type TRegionType = "cn" | "mya" | "va" | "sg";
|
|
|
1961
2199
|
* - `'loop'`:列表循环
|
|
1962
2200
|
* - `'random'`:列表随机
|
|
1963
2201
|
*/
|
|
2202
|
+
/** {en}
|
|
2203
|
+
*/
|
|
1964
2204
|
export declare type PlayModeType = "order" | "sloop" | "loop" | "random";
|
|
1965
2205
|
export interface IMusicListItem {
|
|
1966
2206
|
/** {zh}
|
|
@@ -1996,6 +2236,10 @@ export interface IMusicListItem {
|
|
|
1996
2236
|
* @list Options
|
|
1997
2237
|
* @kind property
|
|
1998
2238
|
*/
|
|
2239
|
+
/** {en}
|
|
2240
|
+
* @list Options
|
|
2241
|
+
* @kind property
|
|
2242
|
+
*/
|
|
1999
2243
|
export interface IABCycle {
|
|
2000
2244
|
/** {zh}
|
|
2001
2245
|
* @default 0
|
|
@@ -2030,6 +2274,10 @@ export interface IABCycle {
|
|
|
2030
2274
|
* @brief 音乐播放模式配置。
|
|
2031
2275
|
* @kind property
|
|
2032
2276
|
*/
|
|
2277
|
+
/** {en}
|
|
2278
|
+
* @list Options
|
|
2279
|
+
* @kind property
|
|
2280
|
+
*/
|
|
2033
2281
|
export interface IMusicConfig {
|
|
2034
2282
|
/** {zh}
|
|
2035
2283
|
* @default false
|
|
@@ -2080,7 +2328,12 @@ export interface IMusicConfig {
|
|
|
2080
2328
|
* @list Options
|
|
2081
2329
|
* @brief 播放地址列表,可配置多线路和多清晰度。
|
|
2082
2330
|
* @kind property
|
|
2083
|
-
*
|
|
2331
|
+
* @export
|
|
2332
|
+
* @interface Stream
|
|
2333
|
+
*/
|
|
2334
|
+
/** {en}
|
|
2335
|
+
* @list Options
|
|
2336
|
+
* @kind property
|
|
2084
2337
|
* @export
|
|
2085
2338
|
* @interface Stream
|
|
2086
2339
|
*/
|
|
@@ -2096,8 +2349,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2096
2349
|
*/
|
|
2097
2350
|
streamType?: string;
|
|
2098
2351
|
/** {zh}
|
|
2099
|
-
* @brief
|
|
2100
|
-
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
2352
|
+
* @brief 视频播放地址。
|
|
2101
2353
|
* @type {Url}
|
|
2102
2354
|
* @memberof IPlayerConfig
|
|
2103
2355
|
*/
|
|
@@ -2169,6 +2421,9 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2169
2421
|
/** {zh}
|
|
2170
2422
|
* @hidden
|
|
2171
2423
|
*/
|
|
2424
|
+
/** {en}
|
|
2425
|
+
* @hidden
|
|
2426
|
+
*/
|
|
2172
2427
|
export interface Condition {
|
|
2173
2428
|
definition?: string;
|
|
2174
2429
|
lineId?: number | string;
|
|
@@ -2177,12 +2432,45 @@ export interface Condition {
|
|
|
2177
2432
|
/** {zh}
|
|
2178
2433
|
* @hidden
|
|
2179
2434
|
*/
|
|
2180
|
-
|
|
2435
|
+
/** {en}
|
|
2436
|
+
* @hidden
|
|
2437
|
+
*/
|
|
2438
|
+
export interface Current extends Partial<Stream> {
|
|
2439
|
+
/**
|
|
2440
|
+
* @brief 清晰度
|
|
2441
|
+
* @default -
|
|
2442
|
+
*/
|
|
2181
2443
|
definition: string;
|
|
2444
|
+
/**
|
|
2445
|
+
* @brief 视频格式/协议
|
|
2446
|
+
* @default -
|
|
2447
|
+
*/
|
|
2182
2448
|
streamType: string;
|
|
2449
|
+
/**
|
|
2450
|
+
* @brief 视频流语言
|
|
2451
|
+
* @default -
|
|
2452
|
+
*/
|
|
2183
2453
|
language: string;
|
|
2454
|
+
/**
|
|
2455
|
+
* @brief 视频流id
|
|
2456
|
+
* @default -
|
|
2457
|
+
*/
|
|
2184
2458
|
lineId?: number | string;
|
|
2459
|
+
/**
|
|
2460
|
+
* @brief 视频编码格式
|
|
2461
|
+
* @default unknown
|
|
2462
|
+
*/
|
|
2185
2463
|
codec?: CodecType;
|
|
2464
|
+
/**
|
|
2465
|
+
* @brief 视频为加密视频时的密钥KeyId
|
|
2466
|
+
* @default -
|
|
2467
|
+
*/
|
|
2468
|
+
kid?: string;
|
|
2469
|
+
/**
|
|
2470
|
+
* @brief 视频为加密视频时的加密类型
|
|
2471
|
+
* @default -
|
|
2472
|
+
*/
|
|
2473
|
+
drmType?: string;
|
|
2186
2474
|
/**
|
|
2187
2475
|
* @brief 地址的过期时间戳,vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
|
|
2188
2476
|
* @default -
|
|
@@ -2193,10 +2481,13 @@ export interface Current {
|
|
|
2193
2481
|
*/
|
|
2194
2482
|
[propName: string]: any;
|
|
2195
2483
|
}
|
|
2196
|
-
/**
|
|
2484
|
+
/** {zh}
|
|
2485
|
+
* @detail Options
|
|
2486
|
+
* @brief URL 类型。支持字符串和数组。如果是数组形式,则每个数组项应包含视频播放地址 `src` 和视频容器格式类型 `type`,在 HTML `<video />` 元素中使用 [`<source />`](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source) 元素设置多种格式的视频源。以 `<source />` 元素设置的地址不支持 MSE(媒体源扩展)播放场景,例如 PC 上播放 HLS 视频或安卓上播放 HLS 加密视频。
|
|
2487
|
+
*/
|
|
2488
|
+
/** {en}
|
|
2197
2489
|
* @detail Options
|
|
2198
|
-
* @brief
|
|
2199
|
-
* 注意:数组形式的url不支持hls、dash等的MSE方式播放
|
|
2490
|
+
* @brief URL type. Supports strings and arrays. If it's in the form of an array, each item in the array should contain the video playback address `src` and the video container format type `type`. Use the [<source />](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source) element in the HTML `<video />` element to set multiple format video sources. The addresses set with the `<source />` element do not support MSE (Media Source Extensions) playback scenarios, such as playing HLS videos on PCs or encrypted HLS videos on Android.
|
|
2200
2491
|
*/
|
|
2201
2492
|
export declare type Url = string | Array<{
|
|
2202
2493
|
src: string;
|
|
@@ -2233,7 +2524,6 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2233
2524
|
root?: HTMLElement;
|
|
2234
2525
|
/** {zh}
|
|
2235
2526
|
* @brief 视频播放地址。
|
|
2236
|
-
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
2237
2527
|
* @default -
|
|
2238
2528
|
*/
|
|
2239
2529
|
url?: Url;
|
|
@@ -2247,7 +2537,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2247
2537
|
*/
|
|
2248
2538
|
vid?: string;
|
|
2249
2539
|
/** {zh}
|
|
2250
|
-
* @brief Vid 播放配置项。应用服务端需通过 `vid`
|
|
2540
|
+
* @brief Vid 播放配置项。应用服务端需通过 `vid` 生成临时临时播放 Token,下发给客户端。
|
|
2251
2541
|
* @type {IPlayAuthTokenConfig}
|
|
2252
2542
|
* @memberof IPlayerConfig
|
|
2253
2543
|
*/
|
|
@@ -2527,6 +2817,57 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2527
2817
|
* @default false
|
|
2528
2818
|
*/
|
|
2529
2819
|
enableMenu?: boolean;
|
|
2820
|
+
/**
|
|
2821
|
+
* @brief 是否关闭pc端单击播放器区域切换播放/暂停
|
|
2822
|
+
* @default false
|
|
2823
|
+
*/
|
|
2824
|
+
closeVideoClick?: boolean;
|
|
2825
|
+
/**
|
|
2826
|
+
* @brief pc端: 是否关闭双击播放器进入全屏的能力
|
|
2827
|
+
* mobile端: 是否关闭双击切换暂停/播放的能力
|
|
2828
|
+
* @default pc端: true, mobile端: false
|
|
2829
|
+
*/
|
|
2830
|
+
closeVideoDblclick?: boolean;
|
|
2831
|
+
/**
|
|
2832
|
+
* @brief 是否关闭播放器自动失焦(只在pc端生效)
|
|
2833
|
+
* @default false
|
|
2834
|
+
*/
|
|
2835
|
+
closeDelayBlur?: boolean;
|
|
2836
|
+
/**
|
|
2837
|
+
* @brief 播放器focus状态自动消失延迟时长,单位为ms
|
|
2838
|
+
* @default pc端: 2000, mobile端: 3000
|
|
2839
|
+
*/
|
|
2840
|
+
inactive?: number;
|
|
2841
|
+
/**
|
|
2842
|
+
* @brief 用户鼠标离开播放器区域之后,控制栏隐藏延时时间,如果想要鼠标移出播放器区域就隐藏,则配置为0(只在pc端生效)
|
|
2843
|
+
* @default 0
|
|
2844
|
+
*/
|
|
2845
|
+
leavePlayerTime?: number;
|
|
2846
|
+
/**
|
|
2847
|
+
* @brief 是否关闭play时触发player焦点状态
|
|
2848
|
+
* @default pc端:true, mobile端:false
|
|
2849
|
+
*/
|
|
2850
|
+
closePlayVideoFocus?: boolean;
|
|
2851
|
+
/**
|
|
2852
|
+
* @brief 是否关闭pause时触发player焦点状态,会强制呼出控制栏
|
|
2853
|
+
* @default false
|
|
2854
|
+
*/
|
|
2855
|
+
closePauseVideoFocus?: boolean;
|
|
2856
|
+
/**
|
|
2857
|
+
* @brief 是否需要在退出全屏后滚动定位到全屏之前的位置。(一般安卓下退出全屏后页面会滚动)
|
|
2858
|
+
* @default false
|
|
2859
|
+
*/
|
|
2860
|
+
needFullscreenScroll?: boolean;
|
|
2861
|
+
/**
|
|
2862
|
+
* @brief 移动端交互插件配置
|
|
2863
|
+
* @default -
|
|
2864
|
+
*/
|
|
2865
|
+
mobile?: IMobileConfig;
|
|
2866
|
+
/**
|
|
2867
|
+
* @brief 播放器中间切换暂停/播放的按钮插件配置
|
|
2868
|
+
* @default -
|
|
2869
|
+
*/
|
|
2870
|
+
start?: IStartConfig;
|
|
2530
2871
|
/** {zh}
|
|
2531
2872
|
* @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生 `video` 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
|
|
2532
2873
|
* @notes 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
@@ -2626,7 +2967,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2626
2967
|
*/
|
|
2627
2968
|
enableH265Degrade?: boolean;
|
|
2628
2969
|
/** {zh}
|
|
2629
|
-
* @brief
|
|
2970
|
+
* @brief 是否开启视频播放地址过期检测。开启后,播放器会轮询地将播放器所在的客户端时间与过期时间戳进行比较,以判断视频播放地址是否过期。
|
|
2630
2971
|
* @default false
|
|
2631
2972
|
*/
|
|
2632
2973
|
enableUrlExpireCheck?: boolean;
|
|
@@ -2636,23 +2977,23 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2636
2977
|
*/
|
|
2637
2978
|
urlExpireTimestamp?: number;
|
|
2638
2979
|
/**
|
|
2639
|
-
* @brief
|
|
2980
|
+
* @brief 判断视频播放地址过期的阈值。单位为秒。如设置为 500,则 SDK 会在地址过期前 500 秒时就触发过期事件 `Events.MEDIA_EXPIRED`,为您更新地址留足缓冲时间。
|
|
2640
2981
|
* @default 60
|
|
2641
2982
|
*/
|
|
2642
2983
|
urlExpireDiff?: number;
|
|
2643
2984
|
/**
|
|
2644
|
-
* @brief
|
|
2985
|
+
* @brief 视频播放地址过期检测的时间间隔。单位为毫秒。播放器以这个时间间隔轮询地将播放器所在的客户端时间与过期时间戳进行比较,以判断地址是否过期。
|
|
2645
2986
|
* @default 400
|
|
2646
2987
|
*/
|
|
2647
2988
|
urlCheckExpireInterval?: number;
|
|
2648
2989
|
/** {zh}
|
|
2649
2990
|
* @hidden
|
|
2650
|
-
* @brief
|
|
2991
|
+
* @brief 播放源过期的回调函数。可用来更新播放源数据。
|
|
2651
2992
|
* @default -
|
|
2652
2993
|
*/
|
|
2653
2994
|
onMediaExpired?: () => Promise<SourceConfig>;
|
|
2654
2995
|
/** {zh}
|
|
2655
|
-
* @brief
|
|
2996
|
+
* @brief 临时播放 Token 过期时的回调函数,可用来更新临时播放 Token。
|
|
2656
2997
|
* @default -
|
|
2657
2998
|
*/
|
|
2658
2999
|
onTokenExpired?: () => Promise<IPlayAuthTokenConfig>;
|
|
@@ -2702,7 +3043,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2702
3043
|
*/
|
|
2703
3044
|
EncryptHlsPlugin?: Partial<IEncryptHlsPluginConfig> | boolean;
|
|
2704
3045
|
/** {zh}
|
|
2705
|
-
* @brief
|
|
3046
|
+
* @brief 质量日志上报配置。
|
|
2706
3047
|
* @default -
|
|
2707
3048
|
*/
|
|
2708
3049
|
vodLogOpts?: Partial<IVodLogOptsConfig>;
|
|
@@ -2713,7 +3054,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2713
3054
|
*/
|
|
2714
3055
|
Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
|
|
2715
3056
|
/** {zh}
|
|
2716
|
-
* @brief
|
|
3057
|
+
* @brief 自适应码率配置。
|
|
2717
3058
|
* @default -
|
|
2718
3059
|
*/
|
|
2719
3060
|
autoBitrateOpts?: IAutoBitrateOpts;
|
|
@@ -2747,18 +3088,18 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2747
3088
|
*/
|
|
2748
3089
|
playListPlugin?: IPlayListConfig;
|
|
2749
3090
|
/** {zh}
|
|
2750
|
-
* @brief
|
|
3091
|
+
* @brief 动态水印配置。
|
|
2751
3092
|
* @default -
|
|
2752
3093
|
*/
|
|
2753
3094
|
dynamicwatermark?: IWatermarkConfig;
|
|
2754
3095
|
/** {zh}
|
|
2755
|
-
* @brief
|
|
3096
|
+
* @brief 进度条预览缩略图配置。
|
|
2756
3097
|
* @default -
|
|
2757
3098
|
*/
|
|
2758
3099
|
thumbnail?: IThumbnailConfig;
|
|
2759
3100
|
}
|
|
2760
3101
|
/**
|
|
2761
|
-
* @brief
|
|
3102
|
+
* @brief 播放源数据。支持传入视频播放地址 `url`、播放列表 `playList` 或者 `vid` 和 `playAuthToken`,还需包含新地址的过期时间戳 `urlExpireTimestamp`。
|
|
2762
3103
|
*/
|
|
2763
3104
|
export declare type SourceConfig = Pick<IPlayerConfig, "url" | "playList" | "getVideoByToken" | "urlExpireTimestamp">;
|
|
2764
3105
|
/** {zh}
|
|
@@ -2900,6 +3241,22 @@ export interface IPlayAuthTokenConfig {
|
|
|
2900
3241
|
* @default -
|
|
2901
3242
|
*/
|
|
2902
3243
|
getDrmAuthToken?: (playAuthIds: string, vid: string, unionInfo: string) => Promise<string>;
|
|
3244
|
+
/**
|
|
3245
|
+
* @brief 商业DRM 获取license的token
|
|
3246
|
+
* @default -
|
|
3247
|
+
*/
|
|
3248
|
+
thirdPartyDrmAuthToken?: string;
|
|
3249
|
+
/**
|
|
3250
|
+
* @brief 商业DRM,获取fairplay证书的地址
|
|
3251
|
+
* @default -
|
|
3252
|
+
*/
|
|
3253
|
+
serverCertificatePath?: string;
|
|
3254
|
+
/**
|
|
3255
|
+
* @brief 商业DRM播放时,是否开启防录屏
|
|
3256
|
+
* @notice 如果开启后,但当前环境不支持,则报错
|
|
3257
|
+
* @default true
|
|
3258
|
+
*/
|
|
3259
|
+
unRecord?: boolean;
|
|
2903
3260
|
/** {zh}
|
|
2904
3261
|
* @brief 可携带aid等透传参数,如:
|
|
2905
3262
|
* {aid: 1234},以playAuthToken下发的参数的优先级最高。
|
|
@@ -3212,50 +3569,248 @@ export interface ApiMapConfig {
|
|
|
3212
3569
|
playDomain: string;
|
|
3213
3570
|
backupPlayDomain?: string;
|
|
3214
3571
|
}
|
|
3572
|
+
declare enum PreloadScene {
|
|
3573
|
+
/**
|
|
3574
|
+
* 普通场景(手动执行预加载)
|
|
3575
|
+
*/
|
|
3576
|
+
NORMAL = 0,
|
|
3577
|
+
/**
|
|
3578
|
+
* Feed流场景(播放器自动执行预加载)
|
|
3579
|
+
*/
|
|
3580
|
+
FEED = 1
|
|
3581
|
+
}
|
|
3215
3582
|
declare enum StrategyNames {
|
|
3216
|
-
|
|
3583
|
+
/**
|
|
3584
|
+
* h265
|
|
3585
|
+
*/
|
|
3586
|
+
H265 = "h265",
|
|
3587
|
+
/**
|
|
3588
|
+
* 预加载
|
|
3589
|
+
*/
|
|
3590
|
+
PRELOAD = "preload"
|
|
3217
3591
|
}
|
|
3218
|
-
/**
|
|
3592
|
+
/**{zh}
|
|
3219
3593
|
* @hidden
|
|
3220
|
-
*
|
|
3594
|
+
* h265策略配置
|
|
3595
|
+
* @detail detail
|
|
3596
|
+
*/
|
|
3597
|
+
export declare type IH265Config = {
|
|
3598
|
+
/**
|
|
3599
|
+
* h265策略依赖Module
|
|
3600
|
+
*/
|
|
3601
|
+
Strategy?: any;
|
|
3602
|
+
/**
|
|
3603
|
+
* 是否禁用265策略
|
|
3604
|
+
*/
|
|
3605
|
+
disabled?: boolean;
|
|
3606
|
+
} & VeStrategyH265Config;
|
|
3607
|
+
/**{zh}
|
|
3608
|
+
* 预加载初始配置
|
|
3609
|
+
* @detail detail
|
|
3610
|
+
*/
|
|
3611
|
+
export declare type IPreloadConfig = {
|
|
3612
|
+
/**
|
|
3613
|
+
* 预加载场景
|
|
3614
|
+
* @default 0
|
|
3615
|
+
* */
|
|
3616
|
+
preloadScene?: PreloadScene;
|
|
3617
|
+
/**
|
|
3618
|
+
* 向前预加载视频个数,Feed流场景时生效
|
|
3619
|
+
* @default 1
|
|
3620
|
+
*/
|
|
3621
|
+
prevCount?: number;
|
|
3622
|
+
/**
|
|
3623
|
+
* 向后预加载视频个数,Feed流场景生效
|
|
3624
|
+
* @default 2
|
|
3625
|
+
*/
|
|
3626
|
+
nextCount?: number;
|
|
3627
|
+
/**
|
|
3628
|
+
* 单个视频预加载时长
|
|
3629
|
+
* @default 5
|
|
3630
|
+
*/
|
|
3631
|
+
preloadTime?: number;
|
|
3632
|
+
/**
|
|
3633
|
+
* 最大视频缓存个数
|
|
3634
|
+
* @default 15
|
|
3635
|
+
*/
|
|
3636
|
+
preloadMaxCacheCount?: number;
|
|
3637
|
+
/**
|
|
3638
|
+
* 预加载依赖Module
|
|
3639
|
+
*/
|
|
3640
|
+
Strategy?: any;
|
|
3641
|
+
/**
|
|
3642
|
+
* 是否禁用预加载
|
|
3643
|
+
*/
|
|
3644
|
+
disabled?: boolean;
|
|
3645
|
+
};
|
|
3646
|
+
/**{zh}
|
|
3647
|
+
* 高级能力(策略)配置
|
|
3648
|
+
* @detail detail
|
|
3221
3649
|
*/
|
|
3222
3650
|
export declare type StrategyConfigOptions = {
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3651
|
+
/**
|
|
3652
|
+
* @hidden
|
|
3653
|
+
* h265策略配置
|
|
3654
|
+
*/
|
|
3655
|
+
[StrategyNames.H265]?: boolean | IH265Config;
|
|
3656
|
+
/**
|
|
3657
|
+
* 预加载配置
|
|
3658
|
+
*/
|
|
3659
|
+
[StrategyNames.PRELOAD]?: boolean | IPreloadConfig;
|
|
3228
3660
|
};
|
|
3229
|
-
|
|
3230
|
-
|
|
3661
|
+
/**{zh}
|
|
3662
|
+
* 播放器预初始化配置
|
|
3663
|
+
* @detail detail
|
|
3664
|
+
*/
|
|
3665
|
+
export declare type StrategyInitOptions = {
|
|
3666
|
+
/**
|
|
3667
|
+
* 应用ID
|
|
3668
|
+
*/
|
|
3669
|
+
appId: number;
|
|
3670
|
+
/**
|
|
3671
|
+
* 高级能力(策略)配置
|
|
3672
|
+
*/
|
|
3231
3673
|
strategies: StrategyConfigOptions;
|
|
3674
|
+
/**
|
|
3675
|
+
* 设备ID
|
|
3676
|
+
*/
|
|
3677
|
+
deviceId?: string;
|
|
3678
|
+
/**
|
|
3679
|
+
* 手动注入依赖插件,默认自动加载
|
|
3680
|
+
*/
|
|
3681
|
+
plugins?: any[];
|
|
3682
|
+
/**
|
|
3683
|
+
* 策略Module,默认自动加载
|
|
3684
|
+
*/
|
|
3685
|
+
Module?: typeof VeStrategy;
|
|
3686
|
+
};
|
|
3687
|
+
/**{zh}
|
|
3688
|
+
* 预加载实例,通过预加载实例可执行一些高级方法
|
|
3689
|
+
* @detail detail
|
|
3690
|
+
*/
|
|
3691
|
+
export declare type PreloaderManager = {
|
|
3692
|
+
/**
|
|
3693
|
+
* 移除所有已预加载数据
|
|
3694
|
+
*/
|
|
3695
|
+
removeAll(): void;
|
|
3696
|
+
/**
|
|
3697
|
+
* 移除所有预加载任务
|
|
3698
|
+
*/
|
|
3699
|
+
removeAllPreloadTask(): void;
|
|
3700
|
+
/**
|
|
3701
|
+
* 清空待预加载列表
|
|
3702
|
+
*/
|
|
3703
|
+
clearPreloadList(): void;
|
|
3704
|
+
};
|
|
3705
|
+
declare enum PreloaderStatus {
|
|
3706
|
+
/**
|
|
3707
|
+
* 不可用
|
|
3708
|
+
*/
|
|
3709
|
+
DISABLED = 0,
|
|
3710
|
+
/**
|
|
3711
|
+
* 初始状态
|
|
3712
|
+
*/
|
|
3713
|
+
INITIALIZING = 1,
|
|
3714
|
+
/**
|
|
3715
|
+
* 已Ready
|
|
3716
|
+
*/
|
|
3717
|
+
READY = 2,
|
|
3718
|
+
/**
|
|
3719
|
+
* 加载失败
|
|
3720
|
+
*/
|
|
3721
|
+
FAILED = 3
|
|
3722
|
+
}
|
|
3723
|
+
/**{zh}
|
|
3724
|
+
* 预加载配置更新
|
|
3725
|
+
* @detail detail
|
|
3726
|
+
*/
|
|
3727
|
+
export declare type IPreloadUpdateConfig = {
|
|
3728
|
+
/**
|
|
3729
|
+
* 向前加载视频个数
|
|
3730
|
+
*/
|
|
3731
|
+
prevCount?: number;
|
|
3732
|
+
/**
|
|
3733
|
+
* 向后加载视频个数
|
|
3734
|
+
*/
|
|
3735
|
+
nextCount?: number;
|
|
3736
|
+
};
|
|
3737
|
+
/**{zh}
|
|
3738
|
+
* 预加载视频资源
|
|
3739
|
+
* @detail detail
|
|
3740
|
+
*/
|
|
3741
|
+
export declare type IPreloadStream = {
|
|
3742
|
+
/**
|
|
3743
|
+
* 视频唯一ID
|
|
3744
|
+
*/
|
|
3745
|
+
vid: string;
|
|
3746
|
+
/**
|
|
3747
|
+
* 播放地址
|
|
3748
|
+
*/
|
|
3749
|
+
url: string;
|
|
3750
|
+
/**
|
|
3751
|
+
* 视频清晰度
|
|
3752
|
+
*/
|
|
3753
|
+
definition: string;
|
|
3754
|
+
/**
|
|
3755
|
+
* 视频streamType,暂只支持 mp4
|
|
3756
|
+
*/
|
|
3757
|
+
streamType: string;
|
|
3758
|
+
/**
|
|
3759
|
+
* 视频codec,暂支持 h264
|
|
3760
|
+
*/
|
|
3761
|
+
codec: string;
|
|
3762
|
+
/**
|
|
3763
|
+
* 码率, 数据统计需要,可选填
|
|
3764
|
+
*/
|
|
3765
|
+
bitrate: number;
|
|
3766
|
+
/**
|
|
3767
|
+
* 视频时长,数据统计需要,可选填
|
|
3768
|
+
*/
|
|
3769
|
+
duration: number;
|
|
3770
|
+
/**
|
|
3771
|
+
* 视频大小,数据统计需要,可选填
|
|
3772
|
+
*/
|
|
3773
|
+
size: number;
|
|
3232
3774
|
};
|
|
3233
3775
|
declare class VeStrategyWrapper {
|
|
3776
|
+
private tea;
|
|
3234
3777
|
private static mapStrategyNameToUmdKey;
|
|
3235
3778
|
private static TEA_ID;
|
|
3779
|
+
preloader: PreloaderManagerOrigin | undefined;
|
|
3780
|
+
preloaderStatus: PreloaderStatus;
|
|
3236
3781
|
private sdkUmdLoader;
|
|
3237
3782
|
private webId;
|
|
3238
3783
|
private config;
|
|
3239
3784
|
private status;
|
|
3240
3785
|
private initPromise;
|
|
3786
|
+
private preloadCacheConfig;
|
|
3787
|
+
private preloadCacheScene;
|
|
3788
|
+
private preloadCacheList;
|
|
3241
3789
|
constructor();
|
|
3242
3790
|
private initUmdLoader;
|
|
3243
3791
|
private fetchWebId;
|
|
3792
|
+
private initTea;
|
|
3244
3793
|
private fetchVeStrategy;
|
|
3245
3794
|
private fetchStrategies;
|
|
3246
3795
|
private initOnce;
|
|
3247
3796
|
init(config: StrategyInitOptions): Promise<boolean>;
|
|
3797
|
+
initPreloadService(options: StrategyInitOptions): Promise<boolean>;
|
|
3798
|
+
addPreloadList(list: IPreloadStream[]): void;
|
|
3799
|
+
setPreloadList(list: IPreloadStream[]): Promise<void>;
|
|
3800
|
+
setPreloadScene(preloadScene: PreloadScene, options?: any): void;
|
|
3248
3801
|
prepare(): Promise<boolean>;
|
|
3249
3802
|
getDeviceId(): string;
|
|
3250
3803
|
isReady(): boolean;
|
|
3251
3804
|
getStrategyRecommendations(): StrategyRecommendation;
|
|
3805
|
+
getStrategyRecommendationsAsync(): Promise<StrategyRecommendation>;
|
|
3252
3806
|
isHevcRecommended(): boolean;
|
|
3807
|
+
private initPreloaderConfig;
|
|
3253
3808
|
}
|
|
3254
3809
|
declare const _default: VeStrategyWrapper;
|
|
3255
3810
|
declare class PlayerData {
|
|
3256
3811
|
id?: string;
|
|
3257
3812
|
root?: HTMLElement;
|
|
3258
|
-
configs:
|
|
3813
|
+
configs: IPlayerConfig;
|
|
3259
3814
|
strategyConfig?: StrategyConfigOptions;
|
|
3260
3815
|
type: string;
|
|
3261
3816
|
isLive: boolean;
|
|
@@ -3295,6 +3850,11 @@ declare class PlayerData {
|
|
|
3295
3850
|
urlExpireDiff: number;
|
|
3296
3851
|
urlCheckExpireInterval: number;
|
|
3297
3852
|
};
|
|
3853
|
+
isBusinessDrm: boolean;
|
|
3854
|
+
isEncrypt: boolean;
|
|
3855
|
+
dashOpts: {
|
|
3856
|
+
Data: IGetPlayInfoRes;
|
|
3857
|
+
};
|
|
3298
3858
|
constructor(configs: IPlayerConfig);
|
|
3299
3859
|
/**
|
|
3300
3860
|
* 初始化播放数据
|
|
@@ -3321,12 +3881,12 @@ declare class PlayerData {
|
|
|
3321
3881
|
/**
|
|
3322
3882
|
* @description: 获取当前的streamType
|
|
3323
3883
|
*/
|
|
3324
|
-
getCurrentStreamType():
|
|
3325
|
-
getStreamType():
|
|
3884
|
+
getCurrentStreamType(): string;
|
|
3885
|
+
getStreamType(): string;
|
|
3326
3886
|
isOpenABR(streamType?: string): boolean;
|
|
3327
3887
|
showRealDefinition(): boolean;
|
|
3328
3888
|
isAutoDefinition(def: any): boolean;
|
|
3329
|
-
isPlayAutoDefinition(def?: string):
|
|
3889
|
+
isPlayAutoDefinition(def?: string): boolean;
|
|
3330
3890
|
isDefinitionMatch(pre: any, next: any): boolean;
|
|
3331
3891
|
/**
|
|
3332
3892
|
* @description: 获取满足当前直播条件的流
|
|
@@ -3426,7 +3986,9 @@ declare enum UmdKeys {
|
|
|
3426
3986
|
StreamProbe = "streamprobe",
|
|
3427
3987
|
VeStrategy = "vestrategy",
|
|
3428
3988
|
VeStrategyH265 = "vestrategy_h265",
|
|
3429
|
-
|
|
3989
|
+
VeStrategyPreload = "vestrategy_preload",
|
|
3990
|
+
DashAbralgo = "DashAbralgo",
|
|
3991
|
+
Preloader = "preloader"
|
|
3430
3992
|
}
|
|
3431
3993
|
/**
|
|
3432
3994
|
* @hidden
|
|
@@ -3473,7 +4035,10 @@ declare class umdLoader {
|
|
|
3473
4035
|
*/
|
|
3474
4036
|
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
3475
4037
|
}
|
|
3476
|
-
/**
|
|
4038
|
+
/** {zh}
|
|
4039
|
+
* @hidden
|
|
4040
|
+
*/
|
|
4041
|
+
/** {en}
|
|
3477
4042
|
* @hidden
|
|
3478
4043
|
*/
|
|
3479
4044
|
export declare type PlayerCore = Player & {
|
|
@@ -3595,6 +4160,37 @@ declare class VePlayer {
|
|
|
3595
4160
|
* @memberof VePlayer
|
|
3596
4161
|
*/
|
|
3597
4162
|
static sdkVersion: string;
|
|
4163
|
+
/**{zh}
|
|
4164
|
+
* @brief 播放器预初始化配置
|
|
4165
|
+
* @param options 初始化配置,详情见{@link StrategyInitOptions}
|
|
4166
|
+
*/
|
|
4167
|
+
static prepare(options: StrategyInitOptions): Promise<void>;
|
|
4168
|
+
/**{zh}
|
|
4169
|
+
* @brief 设置预加载模式
|
|
4170
|
+
* @param preloadScene 预加载模式,详情见{@link PreloadScene}
|
|
4171
|
+
* @param options 预加载配置更新,详情见{@link IPreloadUpdateConfig}
|
|
4172
|
+
*/
|
|
4173
|
+
static setPreloadScene(preloadScene: PreloadScene, options?: IPreloadUpdateConfig): void;
|
|
4174
|
+
/**{zh}
|
|
4175
|
+
* @brief 获取预加载实例,可通过预加载实例执行高级方法,需在VePlayer.prepare Promise执行完成之后才能获取到预加载实例
|
|
4176
|
+
* @returns 预加载实例,详情见{@link PreloaderManager}
|
|
4177
|
+
*/
|
|
4178
|
+
static get preloader(): PreloaderManager | undefined;
|
|
4179
|
+
/**{zh}
|
|
4180
|
+
* @brief 获取当前预加载实例状态
|
|
4181
|
+
* @returns 预加载实例状态,详情见{@link PreloaderStatus}
|
|
4182
|
+
*/
|
|
4183
|
+
static get preloaderStatus(): PreloaderStatus;
|
|
4184
|
+
/**{zh}
|
|
4185
|
+
* @brief 添加待预加载视频列表
|
|
4186
|
+
* @param list 待预加载视频列表,详情见{@link IPreloadStream[]}。
|
|
4187
|
+
*/
|
|
4188
|
+
static addPreloadList(list: IPreloadStream[]): void;
|
|
4189
|
+
/**{zh}
|
|
4190
|
+
* @brief 设置待预加载视频列表,替换当前已设置的待预加载列表
|
|
4191
|
+
* @param list 待预加载视频列表,详情见{@link IPreloadStream[]}
|
|
4192
|
+
*/
|
|
4193
|
+
static setPreloadList(list: IPreloadStream[]): Promise<void>;
|
|
3598
4194
|
/**
|
|
3599
4195
|
* @hidden
|
|
3600
4196
|
* @param codec
|
|
@@ -3606,7 +4202,7 @@ declare class VePlayer {
|
|
|
3606
4202
|
private vodLogCommon;
|
|
3607
4203
|
/**
|
|
3608
4204
|
* @hidden
|
|
3609
|
-
* 延时触发的events,即保证在
|
|
4205
|
+
* 延时触发的events,即保证在player创建之后才触发
|
|
3610
4206
|
*/
|
|
3611
4207
|
delayEvents: Array<{
|
|
3612
4208
|
name: string;
|
|
@@ -3819,8 +4415,8 @@ declare class VePlayer {
|
|
|
3819
4415
|
*/
|
|
3820
4416
|
private _onMediaExpiredAction;
|
|
3821
4417
|
/**
|
|
3822
|
-
* @brief
|
|
3823
|
-
* @param source
|
|
4418
|
+
* @brief 更新播放源。您可在视频播放地址过期前调用此方法更新地址及过期时间戳。
|
|
4419
|
+
* @param source 播放源配置。详见 [SourceConfig](1248901#sourceconfig)。支持传入视频播放地址 `url`、播放列表 `playList` 或者 `vid` 和 `playAuthToken`,还需包含新地址的过期时间戳 `urlExpireTimestamp`。
|
|
3824
4420
|
*/
|
|
3825
4421
|
updateMediaSource(source: SourceConfig): Promise<void>;
|
|
3826
4422
|
/** {zh}
|
|
@@ -3868,17 +4464,17 @@ declare class VePlayer {
|
|
|
3868
4464
|
*/
|
|
3869
4465
|
getSdkPlugin(name: any): any;
|
|
3870
4466
|
/** {zh}
|
|
3871
|
-
* @brief
|
|
4467
|
+
* @brief 播放时更换临时播放 Token,以更换视频源。
|
|
3872
4468
|
* @memberof VePlayer
|
|
3873
|
-
* @param config
|
|
4469
|
+
* @param config 临时播放 Token 配置。
|
|
3874
4470
|
* @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
|
|
3875
4471
|
*/
|
|
3876
4472
|
switchAuthToken(config: IPlayAuthTokenConfig, isNewVideo?: boolean): Promise<void>;
|
|
3877
4473
|
/** {zh}
|
|
3878
|
-
* @brief
|
|
4474
|
+
* @brief 更新临时播放 Token。
|
|
3879
4475
|
* @memberof VePlayer
|
|
3880
|
-
* @notes
|
|
3881
|
-
* @param config
|
|
4476
|
+
* @notes 播放前临时播放 Token 过期(收到 `play_auth_token_expired` 事件或者 `onTokenExpired` 回调触发)时,调用此方法更新临时播放 Token。
|
|
4477
|
+
* @param config 临时播放 Token 配置。
|
|
3882
4478
|
*/
|
|
3883
4479
|
updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
|
|
3884
4480
|
private _playerPlayNext;
|
|
@@ -4103,6 +4699,11 @@ declare class VePlayer {
|
|
|
4103
4699
|
* @param pluginName 插件名。
|
|
4104
4700
|
*/
|
|
4105
4701
|
getPlugin(pluginName: string): null | BasePlugin;
|
|
4702
|
+
/**
|
|
4703
|
+
* @brief 当前浏览器环境是否支持商业drm防录屏
|
|
4704
|
+
* @return boolean 是否支持商业drm防录屏
|
|
4705
|
+
*/
|
|
4706
|
+
isDrmSupportUnRecord(): Promise<boolean>;
|
|
4106
4707
|
/** {zh}
|
|
4107
4708
|
* @memberof VePlayer
|
|
4108
4709
|
* @brief 销毁当前播放器实例。
|
|
@@ -4967,6 +5568,34 @@ export declare const Events: {
|
|
|
4967
5568
|
* @brief UMD 加载失败。
|
|
4968
5569
|
*/
|
|
4969
5570
|
UMD_LOAD_FAIL: string;
|
|
5571
|
+
/** {zh}
|
|
5572
|
+
* @brief 切换下一个视频,playNext方法调用后触发
|
|
5573
|
+
*/
|
|
5574
|
+
PLAYNEXT: string;
|
|
5575
|
+
/** {zh}
|
|
5576
|
+
* @brief 视频地址为空
|
|
5577
|
+
*/
|
|
5578
|
+
URL_NULL: string;
|
|
5579
|
+
/** {zh}
|
|
5580
|
+
* @brief 鼠标移出
|
|
5581
|
+
*/
|
|
5582
|
+
LEAVE_PLAYER: string;
|
|
5583
|
+
/** {zh}
|
|
5584
|
+
* @brief 鼠标移出
|
|
5585
|
+
*/
|
|
5586
|
+
ENTER_PLAYER: string;
|
|
5587
|
+
/** {zh}
|
|
5588
|
+
* @brief 播放器状态重置
|
|
5589
|
+
*/
|
|
5590
|
+
RESET: string;
|
|
5591
|
+
/** {zh}
|
|
5592
|
+
* @brief <source> 加载错误,表示<source>不支持或播放失败
|
|
5593
|
+
*/
|
|
5594
|
+
SOURCE_ERROR: string;
|
|
5595
|
+
/** {zh}
|
|
5596
|
+
* @brief <source> 加载成功
|
|
5597
|
+
*/
|
|
5598
|
+
SOURCE_SUCCESS: string;
|
|
4970
5599
|
/** {zh}
|
|
4971
5600
|
* @brief 在播放被终止时触发。例如当播放中的视频重新开始播放。
|
|
4972
5601
|
*/
|
|
@@ -5256,6 +5885,34 @@ export declare const Event: {
|
|
|
5256
5885
|
* @brief UMD 加载失败。
|
|
5257
5886
|
*/
|
|
5258
5887
|
UMD_LOAD_FAIL: string;
|
|
5888
|
+
/** {zh}
|
|
5889
|
+
* @brief 切换下一个视频,playNext方法调用后触发
|
|
5890
|
+
*/
|
|
5891
|
+
PLAYNEXT: string;
|
|
5892
|
+
/** {zh}
|
|
5893
|
+
* @brief 视频地址为空
|
|
5894
|
+
*/
|
|
5895
|
+
URL_NULL: string;
|
|
5896
|
+
/** {zh}
|
|
5897
|
+
* @brief 鼠标移出
|
|
5898
|
+
*/
|
|
5899
|
+
LEAVE_PLAYER: string;
|
|
5900
|
+
/** {zh}
|
|
5901
|
+
* @brief 鼠标移出
|
|
5902
|
+
*/
|
|
5903
|
+
ENTER_PLAYER: string;
|
|
5904
|
+
/** {zh}
|
|
5905
|
+
* @brief 播放器状态重置
|
|
5906
|
+
*/
|
|
5907
|
+
RESET: string;
|
|
5908
|
+
/** {zh}
|
|
5909
|
+
* @brief <source> 加载错误,表示<source>不支持或播放失败
|
|
5910
|
+
*/
|
|
5911
|
+
SOURCE_ERROR: string;
|
|
5912
|
+
/** {zh}
|
|
5913
|
+
* @brief <source> 加载成功
|
|
5914
|
+
*/
|
|
5915
|
+
SOURCE_SUCCESS: string;
|
|
5259
5916
|
};
|
|
5260
5917
|
PluginEvents: {
|
|
5261
5918
|
/** {zh}
|