@volcengine/veplayer 1.8.2-rc.1 → 1.8.2
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 +1657 -824
- package/index.min.css +1 -1
- package/index.min.js +2 -2
- package/package.json +1 -5
- package/plugin/XGVideo.js +2 -0
- package/plugin/danmuMask.js +2 -0
- package/plugin/danmujs.js +2 -0
- package/plugin/dash.js +2 -0
- package/plugin/flv.js +2 -0
- package/plugin/hls.js +2 -0
- package/plugin/hlsEncrypt.js +2 -0
- package/plugin/mp4Encrypt.js +2 -0
- package/plugin/streamprobe.js +2 -0
- package/plugin/vestrategy.js +1 -0
- package/plugin/vestrategy_h265.js +1 -0
package/index.d.ts
CHANGED
|
@@ -2,97 +2,135 @@ import VodLogger from '@byted/xgplayer-app-logger/es/logger.js';
|
|
|
2
2
|
import VeStrategy from '@volcengine/vestrategy';
|
|
3
3
|
import { StrategyRecommendation, VeStrategyInitOptions } from '@volcengine/vestrategy';
|
|
4
4
|
import { VeStrategyH265Config } from '@volcengine/vestrategy-h265';
|
|
5
|
-
import { Property } from 'dom-helpers/esm/types';
|
|
6
5
|
import EventEmitter from 'eventemitter3';
|
|
7
6
|
import Player from 'xgplayer';
|
|
8
|
-
import { BasePlugin,
|
|
7
|
+
import { BasePlugin, I18N, IXGI18nText, Plugin } from 'xgplayer';
|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @brief 插件按钮位置
|
|
11
|
+
*/
|
|
12
|
+
export declare const enum POSITIONS {
|
|
13
|
+
/**
|
|
14
|
+
* @brief 播放器根节点
|
|
15
|
+
*/
|
|
11
16
|
ROOT = "root",
|
|
17
|
+
/**
|
|
18
|
+
* @brief 播放器根节点左侧
|
|
19
|
+
*/
|
|
12
20
|
ROOT_LEFT = "rootLeft",
|
|
21
|
+
/**
|
|
22
|
+
* @brief 播放器根节点右侧
|
|
23
|
+
*/
|
|
13
24
|
ROOT_RIGHT = "rootRight",
|
|
25
|
+
/**
|
|
26
|
+
* @brief 播放器根节点顶部
|
|
27
|
+
*/
|
|
14
28
|
ROOT_TOP = "rootTop",
|
|
29
|
+
/**
|
|
30
|
+
* @brief 播控栏左侧
|
|
31
|
+
*/
|
|
15
32
|
CONTROLS_LEFT = "controlsLeft",
|
|
33
|
+
/**
|
|
34
|
+
* @brief 播控栏左侧
|
|
35
|
+
*/
|
|
36
|
+
CONTROLS_RIGTH = "controlsRight",
|
|
37
|
+
/**
|
|
38
|
+
* @brief 播控栏右侧
|
|
39
|
+
*/
|
|
16
40
|
CONTROLS_RIGHT = "controlsRight",
|
|
17
|
-
|
|
41
|
+
/**
|
|
42
|
+
* @brief 播控栏中间
|
|
43
|
+
*/
|
|
44
|
+
CONTROLS_CENTER = "controlsCenter",
|
|
45
|
+
/** @hidden
|
|
46
|
+
* @brief 播控栏左侧
|
|
47
|
+
*/
|
|
48
|
+
CONTROLS = "controls"
|
|
18
49
|
}
|
|
19
50
|
/**
|
|
20
|
-
* @
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* @export
|
|
24
|
-
* @interface ISdkErrorConfig
|
|
51
|
+
* @brief 发错错误时的UI表现配置
|
|
52
|
+
* @list Options
|
|
53
|
+
* @kind property
|
|
25
54
|
*/
|
|
26
55
|
export interface ISdkErrorConfig {
|
|
27
|
-
/**
|
|
28
|
-
* 报错时是否显示提示图片
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* @type {boolean}
|
|
32
|
-
* @memberof ISdkErrorConfig
|
|
56
|
+
/** {zh}
|
|
57
|
+
* @brief 报错时是否显示提示图片
|
|
58
|
+
* @default true
|
|
33
59
|
*/
|
|
34
60
|
errorImg?: boolean;
|
|
35
|
-
/**
|
|
36
|
-
* 报错时是否展示
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @type {boolean}
|
|
40
|
-
* @memberof ISdkErrorConfig
|
|
61
|
+
/** {zh}
|
|
62
|
+
* @brief 报错时是否展示
|
|
63
|
+
* @default true
|
|
41
64
|
*/
|
|
42
65
|
errorTips?: boolean;
|
|
43
|
-
/**
|
|
44
|
-
* 报错时是否展示“刷新”按钮
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* @type {boolean}
|
|
48
|
-
* @memberof ISdkErrorConfig
|
|
66
|
+
/** {zh}
|
|
67
|
+
* @brief 报错时是否展示“刷新”按钮
|
|
68
|
+
* @default ture
|
|
49
69
|
*/
|
|
50
70
|
isNeedRefreshButton?: boolean;
|
|
51
|
-
/**
|
|
52
|
-
* 报错后是否进行降级,true则降级到playlist中相应 backUrlList字段(type为 rtm 不能设置true)
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @type {boolean}
|
|
56
|
-
* @memberof ISdkErrorConfig
|
|
71
|
+
/** {zh}
|
|
72
|
+
* @brief 报错后是否进行降级,true则降级到playlist中相应 backUrlList字段(type为 rtm 不能设置true)
|
|
73
|
+
* @default false
|
|
74
|
+
* @hidden
|
|
57
75
|
*/
|
|
58
76
|
isNeedDemoteBack?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
* 默认: 1
|
|
63
|
-
*
|
|
64
|
-
* @type {number}
|
|
65
|
-
* @memberof ISdkErrorConfig
|
|
77
|
+
/** {zh}
|
|
78
|
+
* @brief 报错后重试次数
|
|
79
|
+
* @default 1
|
|
66
80
|
*/
|
|
67
81
|
retryLoopNum?: number;
|
|
68
|
-
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
* 默认:播放发生错误,点击刷新试试吧
|
|
72
|
-
*
|
|
73
|
-
* @type {(HTMLElement | string)}
|
|
74
|
-
* @memberof ISdkErrorConfig
|
|
82
|
+
/** {zh}
|
|
83
|
+
* @brief 报错后提示文案
|
|
84
|
+
* @default 播放发生错误,点击刷新试试吧
|
|
75
85
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
*
|
|
86
|
+
/** {en}
|
|
87
|
+
* @brief Prompt copy after error
|
|
88
|
+
* @default An error occurred while playing, click refresh to try
|
|
89
|
+
*/
|
|
90
|
+
errorTipsText?: TipsTextConfig;
|
|
91
|
+
/** {zh}
|
|
79
92
|
* @hidden
|
|
80
|
-
* @
|
|
81
|
-
* @memberof ISdkErrorConfig
|
|
93
|
+
* @brief 播放器中所处的位置
|
|
82
94
|
*/
|
|
83
95
|
position?: POSITIONS;
|
|
84
96
|
}
|
|
85
97
|
/**
|
|
86
|
-
* @
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
|
|
98
|
+
* @list Options
|
|
99
|
+
* @brief 错误文案配置
|
|
100
|
+
* @kind property
|
|
101
|
+
*/
|
|
102
|
+
export interface TipsTextConfig {
|
|
103
|
+
/**
|
|
104
|
+
* @brief 中文错误文案
|
|
105
|
+
* @default 播放发生错误,点击刷新试试吧
|
|
106
|
+
*/
|
|
107
|
+
zh?: HTMLElement | string;
|
|
108
|
+
/**
|
|
109
|
+
* @brief 英文错误文案
|
|
110
|
+
* @default An error occurred while playing, click refresh to try
|
|
111
|
+
*/
|
|
112
|
+
en?: HTMLElement | string;
|
|
113
|
+
/**
|
|
114
|
+
* @brief 日文错误文案
|
|
115
|
+
* @default 再生中にエラーが発生しました。[更新]をクリックして試してください
|
|
116
|
+
*/
|
|
117
|
+
jp?: HTMLElement | string;
|
|
118
|
+
/**
|
|
119
|
+
* @brief 香港繁体中文错误文案。
|
|
120
|
+
* @default 播放發生錯誤,點擊刷新試試吧
|
|
121
|
+
*/
|
|
122
|
+
"zh-hk"?: HTMLElement | string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @hidden
|
|
126
|
+
* @brief rtm配置
|
|
127
|
+
* @list Options
|
|
90
128
|
* @interface IRtmConfig
|
|
91
129
|
*/
|
|
92
130
|
export interface IRtmConfig {
|
|
93
131
|
/**
|
|
94
132
|
* sdp接口请求超时等待时间, 单位 ms
|
|
95
|
-
*
|
|
133
|
+
* @default 5000
|
|
96
134
|
*
|
|
97
135
|
* @type {number}
|
|
98
136
|
* @memberof IRtmConfig
|
|
@@ -100,7 +138,7 @@ export interface IRtmConfig {
|
|
|
100
138
|
loadTimeout?: number;
|
|
101
139
|
/**
|
|
102
140
|
* sdp接口请求失败时重试间隔时间, 单位 ms
|
|
103
|
-
*
|
|
141
|
+
* @default 1000
|
|
104
142
|
*
|
|
105
143
|
* @type {number}
|
|
106
144
|
* @memberof IRtmConfig
|
|
@@ -108,7 +146,7 @@ export interface IRtmConfig {
|
|
|
108
146
|
retryDelay?: number;
|
|
109
147
|
/**
|
|
110
148
|
* sdp接口请求失败时的重试次数
|
|
111
|
-
*
|
|
149
|
+
* @default 0
|
|
112
150
|
*
|
|
113
151
|
* @type {number}
|
|
114
152
|
* @memberof IRtmConfig
|
|
@@ -116,7 +154,7 @@ export interface IRtmConfig {
|
|
|
116
154
|
retryCount?: number;
|
|
117
155
|
/**
|
|
118
156
|
* rtc播放video不会触发waiting,通过timeupdate事件模拟,两次timeupdate事件触发间隔时间大于此值时模拟waiting事件触发 , 单位 ms
|
|
119
|
-
*
|
|
157
|
+
* @default 300
|
|
120
158
|
*
|
|
121
159
|
* @type {number}
|
|
122
160
|
* @memberof IRtmConfig
|
|
@@ -124,7 +162,7 @@ export interface IRtmConfig {
|
|
|
124
162
|
stallInterval?: number;
|
|
125
163
|
/**
|
|
126
164
|
* rtc起播建联失败时降级到flv或hls播放, 指定时开启降级,不指定建联失败对外抛error
|
|
127
|
-
*
|
|
165
|
+
* @default ''
|
|
128
166
|
*
|
|
129
167
|
* @type {string}
|
|
130
168
|
* @memberof IRtmConfig
|
|
@@ -132,7 +170,7 @@ export interface IRtmConfig {
|
|
|
132
170
|
backupURL?: string;
|
|
133
171
|
/**
|
|
134
172
|
* 降级到flv或者hls时需要的播放插件, 配合 backupURL使用
|
|
135
|
-
*
|
|
173
|
+
* @default null
|
|
136
174
|
*
|
|
137
175
|
* @type {('hls' | 'flv')}
|
|
138
176
|
* @memberof IRtmConfig
|
|
@@ -140,87 +178,58 @@ export interface IRtmConfig {
|
|
|
140
178
|
backupStreamType: "hls" | "flv";
|
|
141
179
|
}
|
|
142
180
|
/**
|
|
143
|
-
* @detail Options
|
|
144
181
|
* @brief 弹幕相关设置
|
|
145
|
-
*
|
|
146
|
-
* @
|
|
147
|
-
* @interface InitConfig
|
|
182
|
+
* @list Options
|
|
183
|
+
* @kind property
|
|
148
184
|
*/
|
|
149
|
-
export interface
|
|
185
|
+
export interface IDanmuConfig {
|
|
150
186
|
/**
|
|
151
|
-
* 透明度, 枚举值[0, 33, 66, 99], 实际对应0, 0.33, 0.66, 1
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
* @type {number}
|
|
155
|
-
* @memberof InitConfig
|
|
187
|
+
* @brief 透明度, 枚举值[0, 33, 66, 99], 实际对应0, 0.33, 0.66, 1
|
|
188
|
+
* @default 99
|
|
156
189
|
*/
|
|
157
190
|
opacity?: number;
|
|
158
191
|
/**
|
|
159
|
-
* 枚举值[0, 33, 66, 99] 实际对应1/4, 1/2, 3/4, 1
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
* @type {number}
|
|
163
|
-
* @memberof InitConfig
|
|
192
|
+
* @brief 枚举值[0, 33, 66, 99] 实际对应1/4, 1/2, 3/4, 1
|
|
193
|
+
* @default 99
|
|
164
194
|
*/
|
|
165
195
|
area?: number;
|
|
166
196
|
/**
|
|
167
|
-
* 速度, 枚举值[0, 20, 40, 60, 80, 100], 实际对应1/4, 1/2,1,5/4,3/2,2
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* @type {number}
|
|
171
|
-
* @memberof InitConfig
|
|
197
|
+
* @brief 速度, 枚举值[0, 20, 40, 60, 80, 100], 实际对应1/4, 1/2,1,5/4,3/2,2
|
|
198
|
+
* @default 40
|
|
172
199
|
*/
|
|
173
200
|
speed?: number;
|
|
174
201
|
/**
|
|
175
|
-
* 字体大小, 枚举值[0, 50, 100],实际对应14px 16px 20px
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
* @type {number}
|
|
179
|
-
* @memberof InitConfig
|
|
202
|
+
* @brief 字体大小, 枚举值[0, 50, 100],实际对应14px 16px 20px
|
|
203
|
+
* @default 50
|
|
180
204
|
*/
|
|
181
205
|
fontSize?: number;
|
|
182
206
|
/**
|
|
183
|
-
* 是否打开面板
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* @type {boolean}
|
|
187
|
-
* @memberof InitConfig
|
|
207
|
+
* @brief 是否打开面板
|
|
208
|
+
* @default false
|
|
188
209
|
*/
|
|
189
210
|
active?: boolean;
|
|
190
211
|
/**
|
|
191
|
-
* 是否展示弹幕设置面板
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
* @type {boolean}
|
|
195
|
-
* @memberof InitConfig
|
|
212
|
+
* @brief 是否展示弹幕设置面板
|
|
213
|
+
* @default true
|
|
196
214
|
*/
|
|
197
215
|
usePanel?: boolean;
|
|
198
216
|
/**
|
|
199
|
-
* 弹幕列表
|
|
200
|
-
*
|
|
201
|
-
* @type {DanmuItem[]}
|
|
202
|
-
* @memberof InitConfig
|
|
217
|
+
* @brief 弹幕列表
|
|
218
|
+
* @default -
|
|
203
219
|
*/
|
|
204
220
|
danmuItems?: DanmuItem[];
|
|
205
221
|
/**
|
|
206
222
|
* @hidden
|
|
207
|
-
*
|
|
208
223
|
* @type {ExternalItem[]}
|
|
209
|
-
* @memberof
|
|
224
|
+
* @memberof IDanmuConfig
|
|
210
225
|
*/
|
|
211
226
|
external?: ExternalItem[];
|
|
212
227
|
/**
|
|
213
228
|
* @hidden
|
|
214
|
-
*
|
|
215
|
-
* @type {IMaskConfig}
|
|
216
|
-
* @memberof InitConfig
|
|
217
229
|
*/
|
|
218
230
|
maskConfig?: IMaskConfig;
|
|
219
231
|
/**
|
|
220
232
|
* @hidden
|
|
221
|
-
*
|
|
222
|
-
* @type {boolean}
|
|
223
|
-
* @memberof InitConfig
|
|
224
233
|
*/
|
|
225
234
|
maskActive?: boolean;
|
|
226
235
|
}
|
|
@@ -229,15 +238,19 @@ export interface IMaskConfig {
|
|
|
229
238
|
maskOffset?: number;
|
|
230
239
|
interval?: number;
|
|
231
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* @hidden
|
|
243
|
+
* @brief 语言类型
|
|
244
|
+
*/
|
|
232
245
|
export interface Lang {
|
|
233
246
|
zh: string;
|
|
234
247
|
en: string;
|
|
235
248
|
[props: string]: string;
|
|
236
249
|
}
|
|
237
250
|
/**
|
|
238
|
-
* @
|
|
239
|
-
*
|
|
240
|
-
*
|
|
251
|
+
* @brief 弹幕项配置
|
|
252
|
+
* @list Options
|
|
253
|
+
* @kind property
|
|
241
254
|
* @export
|
|
242
255
|
* @interface DanmuItem
|
|
243
256
|
*/
|
|
@@ -258,9 +271,7 @@ export interface DanmuItem {
|
|
|
258
271
|
txt: string;
|
|
259
272
|
/**
|
|
260
273
|
* 弹幕出现时间, 单位为ms
|
|
261
|
-
*
|
|
262
|
-
* @type {number}
|
|
263
|
-
* @memberof DanmuItem
|
|
274
|
+
* @default 0
|
|
264
275
|
*/
|
|
265
276
|
start?: number;
|
|
266
277
|
/**
|
|
@@ -272,23 +283,26 @@ export interface DanmuItem {
|
|
|
272
283
|
prior?: boolean;
|
|
273
284
|
/**
|
|
274
285
|
* 弹幕持续显示时间, 单位为ms
|
|
286
|
+
* @default 5000
|
|
275
287
|
*
|
|
276
288
|
* @type {number}
|
|
277
289
|
* @memberof DanmuItem
|
|
278
290
|
*/
|
|
279
291
|
duration?: number;
|
|
280
292
|
/**
|
|
281
|
-
* 弹幕样式
|
|
282
|
-
*
|
|
293
|
+
* @brief 弹幕样式
|
|
294
|
+
* @example
|
|
295
|
+
* ``` javascript
|
|
296
|
+
* {
|
|
283
297
|
* color: '#ff9500',
|
|
284
298
|
* fontSize: '20px',
|
|
285
299
|
* padding: '2px 11px'
|
|
286
300
|
* }
|
|
287
|
-
|
|
301
|
+
*```
|
|
288
302
|
* @type {Partial<Record<Property, string>>}
|
|
289
303
|
* @memberof DanmuItem
|
|
290
304
|
*/
|
|
291
|
-
style?:
|
|
305
|
+
style?: CSSStyleDeclaration;
|
|
292
306
|
}
|
|
293
307
|
export interface ExternalItem {
|
|
294
308
|
key: string;
|
|
@@ -297,10 +311,9 @@ export interface ExternalItem {
|
|
|
297
311
|
lang?: Lang;
|
|
298
312
|
}
|
|
299
313
|
/**
|
|
300
|
-
* @
|
|
301
|
-
*
|
|
302
|
-
* @
|
|
303
|
-
* @interface ISubtitleConfig
|
|
314
|
+
* @brief 外挂字幕配置
|
|
315
|
+
* @list Options
|
|
316
|
+
* @kind property
|
|
304
317
|
*/
|
|
305
318
|
export interface ISubtitleConfig {
|
|
306
319
|
/**
|
|
@@ -309,192 +322,164 @@ export interface ISubtitleConfig {
|
|
|
309
322
|
*/
|
|
310
323
|
[propName: string]: any;
|
|
311
324
|
/**
|
|
312
|
-
* 图标位置
|
|
313
|
-
*
|
|
314
|
-
* @type {string}
|
|
315
|
-
* @memberof ISubtitleConfig
|
|
325
|
+
* @brief 图标位置
|
|
326
|
+
* @default controlsRight
|
|
316
327
|
*/
|
|
317
328
|
position?: string;
|
|
318
329
|
/**
|
|
319
|
-
* 图标排列权重
|
|
320
|
-
*
|
|
321
|
-
* @type {number}
|
|
322
|
-
* @memberof ISubtitleConfig
|
|
330
|
+
* @brief 图标排列权重
|
|
331
|
+
* @default 6
|
|
323
332
|
*/
|
|
324
333
|
index?: number;
|
|
325
334
|
/**
|
|
326
|
-
* 字幕列表
|
|
327
|
-
*
|
|
328
|
-
* @type {Array<SubTitleItem>}
|
|
329
|
-
* @memberof ISubtitleConfig
|
|
335
|
+
* @brief 字幕列表
|
|
336
|
+
* @default -
|
|
330
337
|
*/
|
|
331
338
|
list?: Array<ISubTitleItem>;
|
|
332
339
|
/**
|
|
333
|
-
* 是否默认打开
|
|
334
|
-
*
|
|
335
|
-
* @type {boolean}
|
|
336
|
-
* @memberof ISubtitleConfig
|
|
340
|
+
* @brief 是否默认打开
|
|
341
|
+
* @default true
|
|
337
342
|
*/
|
|
338
343
|
isDefaultOpen?: boolean;
|
|
339
344
|
/**
|
|
340
|
-
* 是否显示图标
|
|
341
|
-
*
|
|
342
|
-
* @type {boolean}
|
|
343
|
-
* @memberof ISubtitleConfig
|
|
345
|
+
* @brief 是否显示图标
|
|
346
|
+
* @default true
|
|
344
347
|
*/
|
|
345
348
|
isShowIcon?: boolean;
|
|
346
349
|
/**
|
|
347
|
-
* 字幕渲染模式,外挂字幕或原生字幕
|
|
348
|
-
*
|
|
349
|
-
* @type {string}
|
|
350
|
-
* @memberof ISubtitleConfig
|
|
350
|
+
* @brief 字幕渲染模式,外挂字幕或原生字幕
|
|
351
|
+
* @default external
|
|
351
352
|
*/
|
|
352
353
|
mode?: "external" | "native";
|
|
353
354
|
/**
|
|
354
|
-
* 字幕更新模式,默认vod
|
|
355
|
-
*
|
|
356
|
-
* @type {string}
|
|
357
|
-
* @memberof ISubtitleConfig
|
|
355
|
+
* @brief 字幕更新模式,默认vod
|
|
356
|
+
* @default vod
|
|
358
357
|
*/
|
|
359
358
|
updateMode?: "vod" | "live";
|
|
360
359
|
/**
|
|
361
|
-
* 字幕样式
|
|
362
|
-
*
|
|
363
|
-
* @type {ISubtitleStyle}
|
|
364
|
-
* @memberof ISubtitleConfig
|
|
360
|
+
* @brief 字幕样式
|
|
361
|
+
* @default -
|
|
365
362
|
*/
|
|
366
363
|
style?: ISubtitleStyle;
|
|
367
364
|
}
|
|
368
365
|
/**
|
|
369
|
-
* @
|
|
370
|
-
*
|
|
371
|
-
* @
|
|
372
|
-
* @interface ISubtitleStyle
|
|
366
|
+
* @list Options
|
|
367
|
+
* @brief 字幕样式配置
|
|
368
|
+
* @kind property
|
|
373
369
|
*/
|
|
374
370
|
export interface ISubtitleStyle {
|
|
375
371
|
/**
|
|
376
372
|
* 是否跟随控制栏调整位置
|
|
377
|
-
*
|
|
373
|
+
* @default true
|
|
378
374
|
* @type {boolean | null}
|
|
379
375
|
* @memberof ISubtitleStyle
|
|
380
376
|
*/
|
|
381
377
|
follow: boolean | null;
|
|
382
378
|
/**
|
|
383
379
|
* 字体显示模式,默认是描边
|
|
384
|
-
*
|
|
380
|
+
* @default 'stroke'
|
|
385
381
|
* @type {'stroke' | 'bg'}
|
|
386
382
|
* @memberof ISubtitleStyle
|
|
387
383
|
*/
|
|
388
384
|
mode?: "stroke" | "bg";
|
|
389
385
|
/**
|
|
390
386
|
* 跟随底部控制栏的高度
|
|
391
|
-
*
|
|
387
|
+
* @default 50
|
|
392
388
|
* @type {number}
|
|
393
389
|
* @memberof ISubtitleStyle
|
|
394
390
|
*/
|
|
395
391
|
followBottom?: number;
|
|
396
392
|
/**
|
|
397
393
|
* 是否跟随视频自动调整字号
|
|
398
|
-
*
|
|
394
|
+
* @default true
|
|
399
395
|
* @type {boolean}
|
|
400
396
|
* @memberof ISubtitleStyle
|
|
401
397
|
*/
|
|
402
398
|
fitVideo?: boolean;
|
|
403
399
|
/**
|
|
404
400
|
* 字幕距离画面底部百分比
|
|
405
|
-
*
|
|
401
|
+
* @default 4
|
|
406
402
|
* @type {number}
|
|
407
403
|
* @memberof ISubtitleStyle
|
|
408
404
|
*/
|
|
409
405
|
offsetBottom?: number;
|
|
410
406
|
/**
|
|
411
407
|
* 横屏视频适配基准字号
|
|
412
|
-
*
|
|
408
|
+
* @default 49
|
|
413
409
|
* @type {number}
|
|
414
410
|
* @memberof ISubtitleStyle
|
|
415
411
|
*/
|
|
416
412
|
baseSizeX?: number;
|
|
417
413
|
/**
|
|
418
414
|
* 竖屏视频适配基准字号
|
|
419
|
-
*
|
|
415
|
+
* @default 28
|
|
420
416
|
* @type {number}
|
|
421
417
|
* @memberof ISubtitleStyle
|
|
422
418
|
*/
|
|
423
419
|
baseSizeY?: number;
|
|
424
420
|
/**
|
|
425
421
|
* pc端最小字号
|
|
426
|
-
*
|
|
422
|
+
* @default 16
|
|
427
423
|
* @type {number}
|
|
428
424
|
* @memberof ISubtitleStyle
|
|
429
425
|
*/
|
|
430
426
|
minSize?: number;
|
|
431
427
|
/**
|
|
432
428
|
* 移动端最小字号
|
|
433
|
-
*
|
|
429
|
+
* @default 13
|
|
434
430
|
* @type {number}
|
|
435
431
|
* @memberof ISubtitleStyle
|
|
436
432
|
*/
|
|
437
433
|
minMobileSize?: number;
|
|
438
434
|
/**
|
|
439
435
|
* 最大显示行数
|
|
440
|
-
*
|
|
436
|
+
* @default double
|
|
441
437
|
* @type {'double' | 'single' | 'three'}
|
|
442
438
|
* @memberof ISubtitleStyle
|
|
443
439
|
*/
|
|
444
440
|
line?: "double" | "single" | "three";
|
|
445
441
|
/**
|
|
446
442
|
* 字体颜色, 16位颜色值或rgb值
|
|
447
|
-
*
|
|
443
|
+
* @default #fff
|
|
448
444
|
* @type {string}
|
|
449
445
|
* @memberof ISubtitleStyle
|
|
450
446
|
*/
|
|
451
447
|
fontColor?: string;
|
|
452
448
|
}
|
|
453
449
|
/**
|
|
454
|
-
* @
|
|
455
|
-
*
|
|
456
|
-
* @
|
|
457
|
-
* @interface ISubTitleItem
|
|
450
|
+
* @list Options
|
|
451
|
+
* @brief 字幕项配置
|
|
452
|
+
* @kind property
|
|
458
453
|
*/
|
|
459
454
|
export interface ISubTitleItem {
|
|
460
455
|
/**
|
|
461
|
-
* 字幕语言
|
|
462
|
-
*
|
|
463
|
-
* @type {string | number}
|
|
464
|
-
* @memberof ISubTitleItem
|
|
456
|
+
* @brief 字幕语言
|
|
457
|
+
* @default -
|
|
465
458
|
*/
|
|
466
459
|
language?: string | number;
|
|
467
460
|
/**
|
|
468
|
-
* 字幕id
|
|
469
|
-
*
|
|
470
|
-
* @type {string | number}
|
|
471
|
-
* @memberof ISubTitleItem
|
|
461
|
+
* @brief 字幕id
|
|
462
|
+
* @default -
|
|
472
463
|
*/
|
|
473
464
|
id?: number | string;
|
|
474
465
|
/**
|
|
475
|
-
* 是否是默认选择的字幕
|
|
476
|
-
*
|
|
477
|
-
* @type {boolean}
|
|
478
|
-
* @memberof ISubTitleItem
|
|
466
|
+
* @brief 是否是默认选择的字幕
|
|
467
|
+
* @default false
|
|
479
468
|
*/
|
|
480
469
|
isDefault?: boolean;
|
|
481
470
|
/**
|
|
482
|
-
* 字幕名称
|
|
483
|
-
*
|
|
484
|
-
* @type {any}
|
|
485
|
-
* @memberof ISubTitleItem
|
|
471
|
+
* @brief 字幕名称
|
|
472
|
+
* @default -
|
|
486
473
|
*/
|
|
487
|
-
text?:
|
|
474
|
+
text?: string;
|
|
488
475
|
/**
|
|
489
|
-
* 外挂字幕地址
|
|
490
|
-
*
|
|
491
|
-
* @type {string}
|
|
492
|
-
* @memberof ISubTitleItem
|
|
476
|
+
* @brief 外挂字幕地址
|
|
477
|
+
* @default -
|
|
493
478
|
*/
|
|
494
479
|
url?: string;
|
|
495
480
|
/**
|
|
496
481
|
* stringContent
|
|
497
|
-
*
|
|
482
|
+
* @default 无
|
|
498
483
|
* @hidden
|
|
499
484
|
* @type {string}
|
|
500
485
|
* @memberof ISubTitleItem
|
|
@@ -502,15 +487,16 @@ export interface ISubTitleItem {
|
|
|
502
487
|
stringContent?: string;
|
|
503
488
|
/**
|
|
504
489
|
* 字幕内容列表,非url形式时使用
|
|
505
|
-
*
|
|
490
|
+
* @default 无
|
|
506
491
|
* @type {Array<Object>}
|
|
507
492
|
* @memberof ISubTitleItem
|
|
508
493
|
*/
|
|
509
494
|
list?: IListItem[];
|
|
510
495
|
}
|
|
511
496
|
/**
|
|
512
|
-
* @
|
|
513
|
-
*
|
|
497
|
+
* @brief 字幕内容项配置
|
|
498
|
+
* @list Options
|
|
499
|
+
* @kind property
|
|
514
500
|
* @export
|
|
515
501
|
* @interface IListItem
|
|
516
502
|
*/
|
|
@@ -531,21 +517,20 @@ export interface IListItem {
|
|
|
531
517
|
*/
|
|
532
518
|
list: Array<ITextItem>;
|
|
533
519
|
/**
|
|
534
|
-
*
|
|
520
|
+
* @default 无
|
|
535
521
|
* @hidden
|
|
536
522
|
* @type {any}
|
|
537
523
|
*/
|
|
538
524
|
[propName: string]: any;
|
|
539
525
|
}
|
|
540
526
|
/**
|
|
541
|
-
* @
|
|
542
|
-
*
|
|
543
|
-
* @
|
|
544
|
-
* @interface ITextItem
|
|
527
|
+
* @breif 字幕文案配置
|
|
528
|
+
* @list Options
|
|
529
|
+
* @kind property
|
|
545
530
|
*/
|
|
546
531
|
export interface ITextItem {
|
|
547
532
|
/**
|
|
548
|
-
*
|
|
533
|
+
* @default 无
|
|
549
534
|
* @hidden
|
|
550
535
|
* @type {any}
|
|
551
536
|
*/
|
|
@@ -572,8 +557,9 @@ export interface ITextItem {
|
|
|
572
557
|
index?: number;
|
|
573
558
|
}
|
|
574
559
|
/**
|
|
575
|
-
* @
|
|
576
|
-
*
|
|
560
|
+
* @brief 清晰度自动降级配置
|
|
561
|
+
* @list Options
|
|
562
|
+
* @hidden
|
|
577
563
|
*
|
|
578
564
|
* @export
|
|
579
565
|
* @interface IDefinitionDemotePlugin
|
|
@@ -622,38 +608,30 @@ export interface IDefinitionDemotePlugin {
|
|
|
622
608
|
demotePriority?: string[];
|
|
623
609
|
}
|
|
624
610
|
/**
|
|
625
|
-
* @
|
|
626
|
-
* @
|
|
627
|
-
* @
|
|
628
|
-
*
|
|
629
|
-
|
|
630
|
-
/**
|
|
631
|
-
* dash播放配置想
|
|
632
|
-
*
|
|
633
|
-
* @detail Options
|
|
634
|
-
* @export
|
|
635
|
-
* @interface IDashPluginConfig
|
|
611
|
+
* @brief DASH 播放配置项
|
|
612
|
+
* @list Options
|
|
613
|
+
* @kind property
|
|
636
614
|
*/
|
|
637
615
|
export interface IDashPluginConfig {
|
|
638
616
|
/**
|
|
639
|
-
* 视频vid
|
|
640
|
-
*
|
|
641
|
-
* 播放加密视频时必选
|
|
617
|
+
* @brief 视频vid
|
|
618
|
+
* @default -
|
|
619
|
+
* @notice 播放加密视频时必选
|
|
642
620
|
*/
|
|
643
621
|
vid?: string;
|
|
644
622
|
/**
|
|
645
|
-
*
|
|
646
|
-
*
|
|
647
|
-
*
|
|
623
|
+
* @hidden
|
|
624
|
+
* @brief 播放类型
|
|
625
|
+
* @default TOP
|
|
648
626
|
*/
|
|
649
627
|
playInfoType: "TOP";
|
|
650
628
|
/**
|
|
651
|
-
* 清晰度映射文案
|
|
652
|
-
*
|
|
653
|
-
* 非必选
|
|
629
|
+
* @brief 清晰度映射文案
|
|
630
|
+
* @default -
|
|
654
631
|
* @example
|
|
655
632
|
* ``` javascript
|
|
656
|
-
* {
|
|
633
|
+
* {
|
|
634
|
+
* 360p: "流畅 360p",
|
|
657
635
|
* 480p: "清晰 480p",
|
|
658
636
|
* 720p: "高清 720p",
|
|
659
637
|
* 1080p: "超高清 1080p"
|
|
@@ -662,26 +640,19 @@ export interface IDashPluginConfig {
|
|
|
662
640
|
*/
|
|
663
641
|
definitionText: Record<string, string>;
|
|
664
642
|
/**
|
|
665
|
-
* 默认清晰度
|
|
666
|
-
*
|
|
667
|
-
* 非必选
|
|
668
|
-
* @example
|
|
669
|
-
* ``` javascript
|
|
670
|
-
* { 360p: "流畅 360p",
|
|
671
|
-
* 480p: "清晰 480p",
|
|
672
|
-
* 720p: "高清 720p",
|
|
673
|
-
* 1080p: "超高清 1080p"
|
|
674
|
-
* }
|
|
675
|
-
* ```
|
|
643
|
+
* @brief 默认清晰度
|
|
644
|
+
* @default 列表第一个
|
|
676
645
|
*/
|
|
677
646
|
defaultDefinition?: string;
|
|
678
647
|
/**
|
|
648
|
+
* @hidden
|
|
679
649
|
* 获取证书地址
|
|
680
650
|
* 默认:`//i.snssdk.com/video/drm/v1/play_licenses`
|
|
681
651
|
* 播放加密视频时必选
|
|
682
652
|
*/
|
|
683
653
|
getLicenseUrl?: string;
|
|
684
654
|
/**
|
|
655
|
+
* @hidden
|
|
685
656
|
* dash播放信息,由`Service.url`服务接口获取
|
|
686
657
|
* 默认:无
|
|
687
658
|
* 必选
|
|
@@ -690,17 +661,16 @@ export interface IDashPluginConfig {
|
|
|
690
661
|
Data: any;
|
|
691
662
|
};
|
|
692
663
|
/**
|
|
693
|
-
* 兜底的mp4播放列表,由`Service.url`服务接口获取
|
|
694
|
-
*
|
|
695
|
-
*
|
|
664
|
+
* @brief 兜底的mp4播放列表,由`Service.url`服务接口获取
|
|
665
|
+
* @default -
|
|
666
|
+
* @hidden
|
|
696
667
|
*/
|
|
697
668
|
mp4Opts: {
|
|
698
669
|
mp4List: mp4OptsItem[];
|
|
699
670
|
};
|
|
700
671
|
/**
|
|
701
672
|
* 预加载时间,单位ms
|
|
702
|
-
*
|
|
703
|
-
* 非必选
|
|
673
|
+
* @default 50
|
|
704
674
|
*/
|
|
705
675
|
preloadTime?: number;
|
|
706
676
|
/**
|
|
@@ -728,11 +698,9 @@ export interface IDashPluginConfig {
|
|
|
728
698
|
url_range_domains?: string[];
|
|
729
699
|
}
|
|
730
700
|
/**
|
|
731
|
-
* dash播放的mp4兜底播放列表配置
|
|
732
|
-
*
|
|
733
|
-
* @
|
|
734
|
-
* @export
|
|
735
|
-
* @interface mp4OptsItem
|
|
701
|
+
* @brief dash播放的mp4兜底播放列表配置
|
|
702
|
+
* @list Options
|
|
703
|
+
* @hidden
|
|
736
704
|
*/
|
|
737
705
|
export interface mp4OptsItem {
|
|
738
706
|
/**
|
|
@@ -749,217 +717,207 @@ export interface mp4OptsItem {
|
|
|
749
717
|
url: string;
|
|
750
718
|
}
|
|
751
719
|
/**
|
|
752
|
-
*
|
|
753
|
-
*
|
|
754
|
-
* @
|
|
755
|
-
* @export
|
|
756
|
-
* @interface IDashPluginConfig
|
|
720
|
+
* @brief HLS加密播放配置
|
|
721
|
+
* @list Options
|
|
722
|
+
* @kind property
|
|
757
723
|
*/
|
|
758
724
|
export interface IEncryptHlsPluginConfig {
|
|
759
|
-
/**
|
|
760
|
-
*
|
|
761
|
-
*
|
|
762
|
-
* 必选
|
|
725
|
+
/** {zh}
|
|
726
|
+
* @brief 获取播放地址的请求域名。
|
|
727
|
+
* @default https://vod.volcengineapi.com
|
|
763
728
|
*/
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
*
|
|
767
|
-
* 默认: 无
|
|
729
|
+
/** {en}
|
|
730
|
+
* @brief Get the requested domain name of the playback address
|
|
731
|
+
* @default https://vod.byteplusapi.com
|
|
768
732
|
*/
|
|
769
|
-
|
|
733
|
+
playDomain?: string;
|
|
770
734
|
/**
|
|
771
|
-
*
|
|
772
|
-
*
|
|
773
|
-
*
|
|
735
|
+
* @hidden
|
|
736
|
+
* @brief 请求类型,固定值 'TOP'
|
|
737
|
+
* @default TOP
|
|
774
738
|
*/
|
|
775
|
-
|
|
739
|
+
getKeyType?: string;
|
|
776
740
|
/**
|
|
777
|
-
*
|
|
778
|
-
*
|
|
779
|
-
*
|
|
741
|
+
* @hidden
|
|
742
|
+
* @brief 密钥请求域名
|
|
743
|
+
* @default https://vod.volcengineapi.com
|
|
780
744
|
*/
|
|
781
|
-
|
|
745
|
+
keyDomain?: string;
|
|
782
746
|
/**
|
|
783
|
-
*
|
|
784
|
-
*
|
|
785
|
-
* 必选
|
|
747
|
+
* @brief 播放地址获取token,由服务端生成下发,详见{@link https://www.volcengine.com/docs/4/67350#%E4%B8%B4%E6%97%B6%E5%AE%89%E5%85%A8%E5%87%AD%E8%AF%81%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E 播放临时安全凭证(PlayAuthToken)}
|
|
748
|
+
* @default -
|
|
786
749
|
*/
|
|
787
|
-
|
|
750
|
+
playAuthToken?: string;
|
|
788
751
|
/**
|
|
789
|
-
* hls
|
|
790
|
-
*
|
|
752
|
+
* @brief 密钥获取token,由服务端生成下发,详见{@link https://www.volcengine.com/docs/4/65659#%E7%AD%BE%E5%8F%91-hls-%E6%A0%87%E5%87%86%E5%8A%A0%E5%AF%86-authtoken%EF%BC%88sha1hlsdrmauthtoken%EF%BC%89 签发 Hls 标准加密AuthToken}
|
|
753
|
+
* @default -
|
|
791
754
|
*/
|
|
792
|
-
|
|
755
|
+
keyToken: string;
|
|
793
756
|
}
|
|
794
757
|
/**
|
|
795
|
-
* 质量日志配置
|
|
796
|
-
*
|
|
797
|
-
* @
|
|
798
|
-
* @export
|
|
799
|
-
* @interface IVodLogOptsConfig
|
|
758
|
+
* @brief 质量日志配置
|
|
759
|
+
* @list Options
|
|
760
|
+
* @kind property
|
|
800
761
|
*/
|
|
801
762
|
export interface IVodLogOptsConfig {
|
|
802
763
|
/**
|
|
803
|
-
*
|
|
804
|
-
*
|
|
805
|
-
* 必选
|
|
764
|
+
* @brief 视频点播应用 ID。您可在视频{@link https://console.volcengine.com/vod/region:vod+cn-north-1/sdk/app/ 点播控制台 > 点播SDK > 应用管理}页面获取应用 ID(App ID)。
|
|
765
|
+
* @default -
|
|
806
766
|
*/
|
|
807
767
|
line_app_id: number;
|
|
808
768
|
/**
|
|
809
|
-
* 用于识别单一用户的
|
|
810
|
-
*
|
|
811
|
-
*
|
|
769
|
+
* @brief 用于识别单一用户的 ID,可在{@link https://www.volcengine.com/docs/4/75736#qoe-%E6%8C%87%E6%A0%87%E8%AF%B4%E6%98%8E QoE指标}中用于用户维度的筛选,也可以用于{@link https://www.volcengine.com/docs/4/106093 单点追查} 查找单用户的播放日志
|
|
770
|
+
* 用户 ID 对应于单点追查功能的查询条件中的设备 ID 维度。如不设置用户 ID,VePlayer 将根据用户浏览器随机生成一个值,该值会在浏览器端缓存。
|
|
771
|
+
* @notice 强烈建议您使用与业务相关的用户 ID,以便在发生播放错误时通过{@link https://console.volcengine.com/vod/region:vod+cn-north-1/quality_control/SingleTracing/?Tab=play 点播控制台 > 质量平台 > 单点追查}功能排查故障。
|
|
772
|
+
* @default -
|
|
812
773
|
*/
|
|
813
774
|
line_user_id: string | number;
|
|
814
775
|
/**
|
|
815
|
-
*
|
|
816
|
-
*
|
|
817
|
-
*
|
|
776
|
+
* @hidden
|
|
777
|
+
* @brief 视频类型
|
|
778
|
+
* @default MP4
|
|
818
779
|
*/
|
|
819
780
|
vtype?: "MP4" | "HLS" | "DASH" | "FLV";
|
|
820
781
|
/**
|
|
821
|
-
*
|
|
822
|
-
*
|
|
823
|
-
*
|
|
782
|
+
* @brief 业务标签。对应于质量平台上的业务类型维度,其作用是区分业务中的不同场景,以便进行多维度分析。举例来说,假设您的应用中包含短视频和长视频两个场景,则可分别将 `tag` 设为 `short` 和 `long`。这样一来,您就能够在{@link https://www.volcengine.com/docs/4/120175 质量平台}上通过业务标签维度查询或过滤不同场景的数据。
|
|
783
|
+
* @notice 如需自定义配置 tag 值在点播控制台上的展示文案,请联系{@link https://www.volcengine.com/docs/4/108992#%E5%94%AE%E5%90%8E%E6%94%AF%E6%8C%81 技术支持}
|
|
784
|
+
* @default 普通视频
|
|
824
785
|
*/
|
|
825
786
|
tag?: string;
|
|
826
787
|
/**
|
|
827
|
-
*
|
|
828
|
-
*
|
|
829
|
-
* 必选
|
|
788
|
+
* @brief 自定义子标签。对应于质量平台上的自定义标签维度,与 `tag` 配合使用,可用于区分同一业务类型下更为细分的音视频类型,比如加密视频、非加密视频、音频等。
|
|
789
|
+
* @default -
|
|
830
790
|
*/
|
|
831
791
|
subtag?: string;
|
|
832
792
|
/**
|
|
833
|
-
*
|
|
834
|
-
*
|
|
835
|
-
*
|
|
793
|
+
* @brief 视频编码类型,取值如下
|
|
794
|
+
* - `h264`:H.264
|
|
795
|
+
* - `h265`:H.265
|
|
796
|
+
* @default unknown
|
|
836
797
|
*/
|
|
837
798
|
codec_type?: "h264" | "h265";
|
|
838
799
|
/**
|
|
839
|
-
* 是否加密,0:非drm视频,1:drm视频
|
|
840
|
-
*
|
|
841
|
-
*
|
|
800
|
+
* @brief 是否加密,0:非drm视频,1:drm视频
|
|
801
|
+
* @hidden
|
|
802
|
+
* @default 0
|
|
842
803
|
*/
|
|
843
804
|
drm_type?: 0 | 1;
|
|
844
805
|
/**
|
|
845
|
-
*
|
|
846
|
-
*
|
|
847
|
-
* 可选
|
|
806
|
+
* @hidden
|
|
807
|
+
* @brief 播放内核版本号
|
|
848
808
|
*/
|
|
849
809
|
playerCoreVersion?: string;
|
|
850
810
|
/**
|
|
851
|
-
*
|
|
852
|
-
*
|
|
853
|
-
* 可选
|
|
811
|
+
* @hidden
|
|
812
|
+
* @brief 播放器版本号
|
|
854
813
|
*/
|
|
855
814
|
playerVersion?: string;
|
|
856
815
|
/**
|
|
857
|
-
*
|
|
858
|
-
*
|
|
859
|
-
* 可选
|
|
816
|
+
* @hidden
|
|
817
|
+
* @brief DASH播放的封装类型
|
|
860
818
|
*/
|
|
861
819
|
dynamic_type?: "segment_base" | "segment_template";
|
|
862
820
|
/**
|
|
863
|
-
*
|
|
864
|
-
*
|
|
865
|
-
*
|
|
821
|
+
* @hidden
|
|
822
|
+
* @brief 是否使用bash,0:不使用,1:使用
|
|
823
|
+
* @default 0
|
|
866
824
|
*/
|
|
867
825
|
enable_bash?: 0 | 1;
|
|
868
826
|
/**
|
|
869
|
-
*
|
|
870
|
-
*
|
|
871
|
-
*
|
|
827
|
+
* @hidden
|
|
828
|
+
* @brief 发送的埋点日志是本地缓存的时候回调
|
|
829
|
+
* @default -
|
|
872
830
|
*/
|
|
873
831
|
sendLocalCallback?: (event: any, data: any) => void;
|
|
874
832
|
/**
|
|
875
|
-
*
|
|
876
|
-
*
|
|
877
|
-
*
|
|
833
|
+
* @hidden
|
|
834
|
+
* @brief 是否禁用localStorage暂时缓存onPlay逻辑
|
|
835
|
+
* @default false
|
|
878
836
|
*/
|
|
879
837
|
disableLocalCache?: boolean;
|
|
880
838
|
/**
|
|
881
|
-
*
|
|
882
|
-
*
|
|
883
|
-
*
|
|
839
|
+
* @hidden
|
|
840
|
+
* @brief 数据上报渠道,可选值:cn(国内)、va(美东) 、sg(新加坡)
|
|
841
|
+
* @default cn
|
|
884
842
|
*/
|
|
885
843
|
channel?: "cn" | "va" | "sg";
|
|
886
844
|
/**
|
|
887
|
-
*
|
|
888
|
-
*
|
|
889
|
-
*
|
|
845
|
+
* @hidden
|
|
846
|
+
* @brief 是否关闭清晰度切换埋点
|
|
847
|
+
* @default false
|
|
890
848
|
*/
|
|
891
849
|
closeResolutionLog?: boolean;
|
|
892
850
|
/**
|
|
893
|
-
*
|
|
894
|
-
*
|
|
895
|
-
*
|
|
851
|
+
* @hidden
|
|
852
|
+
* @brief 关闭seek相关埋点
|
|
853
|
+
* @default false
|
|
896
854
|
*/
|
|
897
855
|
closeSeekLog?: boolean;
|
|
898
856
|
/**
|
|
899
|
-
*
|
|
900
|
-
*
|
|
901
|
-
*
|
|
857
|
+
* @hidden
|
|
858
|
+
* @brief 队列超过多少条日志的时候发送
|
|
859
|
+
* @default 5
|
|
902
860
|
*/
|
|
903
861
|
maxQueueCount?: number;
|
|
904
862
|
}
|
|
905
863
|
/**
|
|
906
|
-
* mp4加密日志配置项
|
|
907
|
-
*
|
|
908
|
-
* @
|
|
909
|
-
* @export
|
|
910
|
-
* @interface IMp4EncryptPlayerConfig
|
|
864
|
+
* @brief mp4加密日志配置项
|
|
865
|
+
* @list Options
|
|
866
|
+
* @hidden
|
|
911
867
|
*/
|
|
912
868
|
export interface IMp4EncryptPlayerConfig {
|
|
913
869
|
/**
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
*
|
|
870
|
+
* @hidden
|
|
871
|
+
* @brief 是否加密
|
|
872
|
+
* @default false
|
|
917
873
|
*/
|
|
918
874
|
isEncrypt?: boolean;
|
|
919
875
|
/**
|
|
920
|
-
*
|
|
921
|
-
*
|
|
922
|
-
*
|
|
876
|
+
* @hidden
|
|
877
|
+
* @brief 视频vid
|
|
878
|
+
* @default -
|
|
923
879
|
*/
|
|
924
880
|
vid?: string;
|
|
925
881
|
/**
|
|
926
|
-
*
|
|
927
|
-
*
|
|
928
|
-
*
|
|
882
|
+
* @hidden
|
|
883
|
+
* @brief 视频密钥 id
|
|
884
|
+
* @default -
|
|
929
885
|
*/
|
|
930
886
|
kid?: string;
|
|
931
887
|
/**
|
|
932
|
-
*
|
|
933
|
-
*
|
|
934
|
-
*
|
|
888
|
+
* @hidden
|
|
889
|
+
* @brief 获取密钥凭证地址
|
|
890
|
+
* @default -
|
|
935
891
|
*/
|
|
936
892
|
getLicenseUrl?: string;
|
|
937
893
|
/**
|
|
938
|
-
*
|
|
939
|
-
*
|
|
940
|
-
*
|
|
894
|
+
* @hidden
|
|
895
|
+
* @brief 是否使用EME
|
|
896
|
+
* @default false
|
|
941
897
|
*/
|
|
942
898
|
useEME?: boolean;
|
|
943
899
|
/**
|
|
944
|
-
*
|
|
945
|
-
*
|
|
946
|
-
*
|
|
900
|
+
* @hidden
|
|
901
|
+
* @brief 视频密钥值
|
|
902
|
+
* @default -
|
|
947
903
|
*/
|
|
948
904
|
keyValue?: string;
|
|
949
905
|
/**
|
|
950
|
-
*
|
|
951
|
-
*
|
|
952
|
-
*
|
|
906
|
+
* @hidden
|
|
907
|
+
* @brief 加密后的视频密钥值
|
|
908
|
+
* @default -
|
|
953
909
|
*/
|
|
954
910
|
secretKey?: string;
|
|
955
911
|
/**
|
|
956
|
-
*
|
|
912
|
+
* @hidden
|
|
913
|
+
* @brief 是否携带cookie
|
|
914
|
+
* @default false
|
|
957
915
|
*/
|
|
958
916
|
withCredentials?: boolean;
|
|
959
917
|
/**
|
|
960
|
-
*
|
|
961
|
-
*
|
|
962
|
-
*
|
|
918
|
+
* @hidden
|
|
919
|
+
* @brief drm内容
|
|
920
|
+
* @default -
|
|
963
921
|
*/
|
|
964
922
|
drm?: {
|
|
965
923
|
clearKeys: {
|
|
@@ -967,6 +925,9 @@ export interface IMp4EncryptPlayerConfig {
|
|
|
967
925
|
};
|
|
968
926
|
};
|
|
969
927
|
}
|
|
928
|
+
/**
|
|
929
|
+
* @hidden
|
|
930
|
+
*/
|
|
970
931
|
export declare type IDefinition = {
|
|
971
932
|
[propName: string]: any;
|
|
972
933
|
url: any;
|
|
@@ -980,6 +941,9 @@ export declare type IDefinition = {
|
|
|
980
941
|
[propName: string]: any;
|
|
981
942
|
};
|
|
982
943
|
};
|
|
944
|
+
/**
|
|
945
|
+
* @hidden
|
|
946
|
+
*/
|
|
983
947
|
export declare type IPlayerOptions = {
|
|
984
948
|
[propName: string]: any;
|
|
985
949
|
id?: string;
|
|
@@ -1093,11 +1057,35 @@ export declare type IPlayerOptions = {
|
|
|
1093
1057
|
volumeColor?: string;
|
|
1094
1058
|
};
|
|
1095
1059
|
};
|
|
1060
|
+
/**
|
|
1061
|
+
* @brief 自动播放配置
|
|
1062
|
+
* @list Options
|
|
1063
|
+
* @kind property
|
|
1064
|
+
*/
|
|
1096
1065
|
export interface IAutoplayPluginConfig {
|
|
1066
|
+
/**
|
|
1067
|
+
* @hidden
|
|
1068
|
+
*/
|
|
1097
1069
|
position?: string;
|
|
1070
|
+
/**
|
|
1071
|
+
* @brief 有声音自动播放失败时是否降级成静音自动播放
|
|
1072
|
+
* @default false
|
|
1073
|
+
*/
|
|
1098
1074
|
enableDegradeMuteAutoplay?: boolean;
|
|
1075
|
+
/**
|
|
1076
|
+
* @brief 启用微信jsBridge方式的自动播放
|
|
1077
|
+
* @default false
|
|
1078
|
+
*/
|
|
1099
1079
|
enableWxJsBridgeAutoplay?: boolean;
|
|
1080
|
+
/**
|
|
1081
|
+
* @brief 用户触发自动播放的目标dom
|
|
1082
|
+
* @default window.document.body
|
|
1083
|
+
*/
|
|
1100
1084
|
userActionDom?: Node;
|
|
1085
|
+
/**
|
|
1086
|
+
* @brief 开启任意点击/触摸的用户行为触发自动播放
|
|
1087
|
+
* @default false
|
|
1088
|
+
*/
|
|
1101
1089
|
enableUserActionAutoplay?: boolean;
|
|
1102
1090
|
}
|
|
1103
1091
|
declare class PlayList {
|
|
@@ -1119,29 +1107,118 @@ declare class PlayList {
|
|
|
1119
1107
|
setStyle(style: any): void;
|
|
1120
1108
|
destroy(): void;
|
|
1121
1109
|
}
|
|
1110
|
+
/**
|
|
1111
|
+
* @brief 播放列表展示面板触发动作类型
|
|
1112
|
+
*
|
|
1113
|
+
*/
|
|
1122
1114
|
export declare const enum TOGGLE_MODES {
|
|
1115
|
+
/**
|
|
1116
|
+
* @brief 鼠标点击
|
|
1117
|
+
*/
|
|
1123
1118
|
CLICK = "click",
|
|
1119
|
+
/**
|
|
1120
|
+
* @brief 鼠标悬浮
|
|
1121
|
+
*/
|
|
1124
1122
|
HOVER = "hover"
|
|
1125
1123
|
}
|
|
1124
|
+
/**
|
|
1125
|
+
* @list Options
|
|
1126
|
+
* @brief 播放列表项配置,支持 DirectUrl 和 Vid + playAuthToken 两种播放模式。
|
|
1127
|
+
* @notes 列表数据由外部提供,播放器内部不直接获取播放列表数据。
|
|
1128
|
+
* @kind property
|
|
1129
|
+
*/
|
|
1126
1130
|
export interface IPlayListItem {
|
|
1131
|
+
/**
|
|
1132
|
+
* @brief 视频地址
|
|
1133
|
+
* @notice `playAuthToken` 为空时,此参数必传。
|
|
1134
|
+
* @default -
|
|
1135
|
+
*/
|
|
1127
1136
|
url?: string;
|
|
1137
|
+
/**
|
|
1138
|
+
* @brief 播放临时安全凭证,由业务的 AppServer 签发。
|
|
1139
|
+
* @notice `url` 为空时,此参数必传。
|
|
1140
|
+
* @default -
|
|
1141
|
+
*/
|
|
1128
1142
|
playAuthToken?: string;
|
|
1143
|
+
/**
|
|
1144
|
+
* @brief 视频的唯一 ID。不传则取视频所在列表数组的序号。
|
|
1145
|
+
* @default -
|
|
1146
|
+
*/
|
|
1129
1147
|
vid: string;
|
|
1148
|
+
/**
|
|
1149
|
+
* @brief 封面图地址。
|
|
1150
|
+
* @default -
|
|
1151
|
+
*/
|
|
1130
1152
|
poster?: string;
|
|
1153
|
+
/**
|
|
1154
|
+
* @brief 视频标题。
|
|
1155
|
+
* @default -
|
|
1156
|
+
*/
|
|
1131
1157
|
title?: string;
|
|
1158
|
+
/**
|
|
1159
|
+
* @brief 视频时长,单位s
|
|
1160
|
+
* @default -
|
|
1161
|
+
*/
|
|
1162
|
+
duration?: number;
|
|
1132
1163
|
}
|
|
1133
1164
|
declare enum EPlayMode {
|
|
1165
|
+
/**
|
|
1166
|
+
* @brief 顺序播放
|
|
1167
|
+
*/
|
|
1134
1168
|
ORDER = "order",
|
|
1169
|
+
/**
|
|
1170
|
+
* @brief 列表循环
|
|
1171
|
+
*/
|
|
1135
1172
|
LOOP = "loop"
|
|
1136
1173
|
}
|
|
1174
|
+
/**
|
|
1175
|
+
* @list Options
|
|
1176
|
+
* @brief 播放列表插件配置项
|
|
1177
|
+
* @kind property
|
|
1178
|
+
*/
|
|
1137
1179
|
export interface IPlayListConfig {
|
|
1180
|
+
/**
|
|
1181
|
+
* @brief 图标位置
|
|
1182
|
+
* @notice 此参数同时影响“打开/关闭播放列表”和“播放下一个”两个按钮的位置。
|
|
1183
|
+
* @default controlsLeft 控制栏左侧
|
|
1184
|
+
*/
|
|
1138
1185
|
position?: string;
|
|
1186
|
+
/**
|
|
1187
|
+
* @brief 图标位置权重
|
|
1188
|
+
* @default 20
|
|
1189
|
+
*/
|
|
1139
1190
|
index?: number;
|
|
1191
|
+
/**
|
|
1192
|
+
* @brief 列表数据
|
|
1193
|
+
* @default []
|
|
1194
|
+
*/
|
|
1140
1195
|
list: IPlayListItem[];
|
|
1196
|
+
/**
|
|
1197
|
+
* @brief 循环模式
|
|
1198
|
+
* - order:不循环播放,即列表中最后一个视频播放完成后就停止播放。
|
|
1199
|
+
* - loop:列表循环,即列表中最后一个视频播放完成后将自动开始重新播放列表中的第一个视频。
|
|
1200
|
+
* @default order
|
|
1201
|
+
*/
|
|
1141
1202
|
mode?: EPlayMode;
|
|
1203
|
+
/**
|
|
1204
|
+
* @brief 默认起始播放序号
|
|
1205
|
+
* @default order
|
|
1206
|
+
*/
|
|
1142
1207
|
defaultIndex?: number;
|
|
1208
|
+
/**
|
|
1209
|
+
* @brief 列表点击之后是否隐藏列表
|
|
1210
|
+
* @default true
|
|
1211
|
+
*/
|
|
1143
1212
|
isItemClickHide?: boolean;
|
|
1213
|
+
/**
|
|
1214
|
+
* @brief 列表行为触发模式
|
|
1215
|
+
* @default click 点击
|
|
1216
|
+
*/
|
|
1144
1217
|
toggleMode?: TOGGLE_MODES;
|
|
1218
|
+
/**
|
|
1219
|
+
* @brief 是否显示图标
|
|
1220
|
+
* @default true
|
|
1221
|
+
*/
|
|
1145
1222
|
isShowIcon?: boolean;
|
|
1146
1223
|
}
|
|
1147
1224
|
export declare class PlayListPlugin extends Plugin {
|
|
@@ -1251,21 +1328,39 @@ export interface IPlayInfoList {
|
|
|
1251
1328
|
Width: number;
|
|
1252
1329
|
}
|
|
1253
1330
|
declare enum CodecType {
|
|
1331
|
+
/**
|
|
1332
|
+
* @brief H.265
|
|
1333
|
+
*/
|
|
1254
1334
|
H265 = "h265",
|
|
1335
|
+
/**
|
|
1336
|
+
* @brief H.264
|
|
1337
|
+
*/
|
|
1255
1338
|
H264 = "h264",
|
|
1339
|
+
/**
|
|
1340
|
+
* @brief 未知编码
|
|
1341
|
+
*/
|
|
1256
1342
|
UNKNOWN = "unknown"
|
|
1257
1343
|
}
|
|
1258
1344
|
declare enum RTMCodec {
|
|
1259
1345
|
H264 = "h264"
|
|
1260
1346
|
}
|
|
1347
|
+
/**
|
|
1348
|
+
* @brief region 类型
|
|
1349
|
+
*/
|
|
1261
1350
|
export declare type TRegionType = "cn" | "mya" | "va" | "sg";
|
|
1351
|
+
/**
|
|
1352
|
+
* @brief 音乐循环模式
|
|
1353
|
+
* - order 顺序播放
|
|
1354
|
+
* - sloop 单曲循环
|
|
1355
|
+
* - loop 列表循环
|
|
1356
|
+
* - random 列表随机
|
|
1357
|
+
*/
|
|
1262
1358
|
export declare type PlayModeType = "order" | "sloop" | "loop" | "random";
|
|
1263
1359
|
export interface IMusicListItem {
|
|
1264
1360
|
/**
|
|
1265
1361
|
* 音乐地址
|
|
1266
1362
|
*
|
|
1267
1363
|
* @type {string}
|
|
1268
|
-
* @memberof IMusicListItem
|
|
1269
1364
|
*/
|
|
1270
1365
|
src: string;
|
|
1271
1366
|
/**
|
|
@@ -1289,11 +1384,20 @@ export interface IMusicListItem {
|
|
|
1289
1384
|
* @memberof IMusicListItem
|
|
1290
1385
|
*/
|
|
1291
1386
|
title?: string;
|
|
1387
|
+
/**
|
|
1388
|
+
* @hidden
|
|
1389
|
+
*/
|
|
1292
1390
|
[propName: string]: any;
|
|
1293
1391
|
}
|
|
1392
|
+
/**
|
|
1393
|
+
* @brief 循环播放配置
|
|
1394
|
+
* @list Options
|
|
1395
|
+
* @kind property
|
|
1396
|
+
*/
|
|
1294
1397
|
export interface IABCycle {
|
|
1295
1398
|
/**
|
|
1296
1399
|
* AB循环段开始时间
|
|
1400
|
+
* @default 0
|
|
1297
1401
|
*
|
|
1298
1402
|
* @type {boolean}
|
|
1299
1403
|
* @memberof IABCycle
|
|
@@ -1301,6 +1405,7 @@ export interface IABCycle {
|
|
|
1301
1405
|
start: number;
|
|
1302
1406
|
/**
|
|
1303
1407
|
* AB循环段结束时间
|
|
1408
|
+
* @default 音乐结束时间点
|
|
1304
1409
|
*
|
|
1305
1410
|
* @type {boolean}
|
|
1306
1411
|
* @memberof IABCycle
|
|
@@ -1308,16 +1413,26 @@ export interface IABCycle {
|
|
|
1308
1413
|
end: number;
|
|
1309
1414
|
/**
|
|
1310
1415
|
* AB段是否循环播放
|
|
1416
|
+
* @default false
|
|
1311
1417
|
*
|
|
1312
1418
|
* @type {boolean}
|
|
1313
1419
|
* @memberof IABCycle
|
|
1314
1420
|
*/
|
|
1315
1421
|
loop?: boolean;
|
|
1422
|
+
/**
|
|
1423
|
+
* @hidden
|
|
1424
|
+
*/
|
|
1316
1425
|
[propName: string]: any;
|
|
1317
1426
|
}
|
|
1427
|
+
/**
|
|
1428
|
+
* @list Options
|
|
1429
|
+
* @brief 音乐播放模式配置
|
|
1430
|
+
* @kind property
|
|
1431
|
+
*/
|
|
1318
1432
|
export interface IMusicConfig {
|
|
1319
1433
|
/**
|
|
1320
1434
|
* 是否启用离线下载播放
|
|
1435
|
+
* @default false
|
|
1321
1436
|
*
|
|
1322
1437
|
* @type {boolean}
|
|
1323
1438
|
* @memberof IMusicConfig
|
|
@@ -1325,6 +1440,7 @@ export interface IMusicConfig {
|
|
|
1325
1440
|
offline?: boolean;
|
|
1326
1441
|
/**
|
|
1327
1442
|
* AB循环设置
|
|
1443
|
+
* @default null
|
|
1328
1444
|
*
|
|
1329
1445
|
* @type {IABCycle}
|
|
1330
1446
|
* @memberof IMusicConfig
|
|
@@ -1332,6 +1448,7 @@ export interface IMusicConfig {
|
|
|
1332
1448
|
abCycle?: IABCycle | null;
|
|
1333
1449
|
/**
|
|
1334
1450
|
* 快进快退时间跨度
|
|
1451
|
+
* @default 15
|
|
1335
1452
|
*
|
|
1336
1453
|
* @type {number}
|
|
1337
1454
|
* @memberof IMusicConfig
|
|
@@ -1339,6 +1456,7 @@ export interface IMusicConfig {
|
|
|
1339
1456
|
timeScale?: number;
|
|
1340
1457
|
/**
|
|
1341
1458
|
* 循环模式
|
|
1459
|
+
* @default order
|
|
1342
1460
|
*
|
|
1343
1461
|
* @type {('order' | 'sloop' | 'loop' | 'random')}
|
|
1344
1462
|
* @memberof IMusicConfig
|
|
@@ -1346,16 +1464,21 @@ export interface IMusicConfig {
|
|
|
1346
1464
|
mode?: PlayModeType;
|
|
1347
1465
|
/**
|
|
1348
1466
|
* 播放列表
|
|
1467
|
+
* @default []
|
|
1349
1468
|
*
|
|
1350
1469
|
* @type {Array<IMusicListItem>}
|
|
1351
1470
|
* @memberof IMusicConfig
|
|
1352
1471
|
*/
|
|
1353
1472
|
list?: Array<IMusicListItem>;
|
|
1473
|
+
/**
|
|
1474
|
+
* @hidden
|
|
1475
|
+
*/
|
|
1354
1476
|
[propName: string]: any;
|
|
1355
1477
|
}
|
|
1356
1478
|
/**
|
|
1357
|
-
* @
|
|
1479
|
+
* @list Options
|
|
1358
1480
|
* @brief 播放地址列表, 可配置多线路和多清晰度
|
|
1481
|
+
* @kind property
|
|
1359
1482
|
*
|
|
1360
1483
|
* @export
|
|
1361
1484
|
* @interface Stream
|
|
@@ -1398,42 +1521,48 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1398
1521
|
*/
|
|
1399
1522
|
definitionTextKey?: string;
|
|
1400
1523
|
/**
|
|
1401
|
-
* 编码格式
|
|
1402
|
-
*
|
|
1403
|
-
* @type {('h265' | 'h264')}
|
|
1404
|
-
* @memberof Stream
|
|
1524
|
+
* @brief 编码格式
|
|
1525
|
+
* @default unknown
|
|
1405
1526
|
*/
|
|
1406
1527
|
codec?: CodecType;
|
|
1407
1528
|
/**
|
|
1408
1529
|
* 线路唯一id
|
|
1409
|
-
*
|
|
1410
|
-
* @type {(number | string)}
|
|
1411
|
-
* @memberof Stream
|
|
1412
1530
|
*/
|
|
1413
1531
|
lineId?: number | string;
|
|
1414
1532
|
/**
|
|
1415
1533
|
* 多语言词典中对应的key, 比如 lineTextKey: LINE_ONE
|
|
1416
|
-
*
|
|
1534
|
+
* @example
|
|
1535
|
+
* ```
|
|
1417
1536
|
* languages: {
|
|
1418
1537
|
* zh: {
|
|
1419
1538
|
* LINE_ONE: '线路一'
|
|
1420
1539
|
* }
|
|
1421
1540
|
* }
|
|
1422
|
-
*
|
|
1541
|
+
* ```
|
|
1423
1542
|
* 则线路切换选项中显示“线路一”
|
|
1424
1543
|
*
|
|
1425
1544
|
* @type {string}
|
|
1426
1545
|
* @memberof Stream
|
|
1427
1546
|
*/
|
|
1428
1547
|
lineTextKey?: string;
|
|
1548
|
+
/**
|
|
1549
|
+
* @hidden
|
|
1550
|
+
*/
|
|
1429
1551
|
[propName: string]: any;
|
|
1430
1552
|
}
|
|
1553
|
+
/**
|
|
1554
|
+
* @hidden
|
|
1555
|
+
*/
|
|
1431
1556
|
export interface Condition {
|
|
1432
1557
|
definition?: string;
|
|
1433
1558
|
lineId?: number | string;
|
|
1559
|
+
/**
|
|
1560
|
+
* @hidden
|
|
1561
|
+
*/
|
|
1434
1562
|
[propName: string]: any;
|
|
1435
1563
|
}
|
|
1436
1564
|
/**
|
|
1565
|
+
* @hidden
|
|
1437
1566
|
* @description 播放器当前状态
|
|
1438
1567
|
*/
|
|
1439
1568
|
export interface Current {
|
|
@@ -1442,110 +1571,302 @@ export interface Current {
|
|
|
1442
1571
|
language: string;
|
|
1443
1572
|
lineId?: number | string;
|
|
1444
1573
|
codec?: CodecType;
|
|
1574
|
+
/**
|
|
1575
|
+
* @hidden
|
|
1576
|
+
*/
|
|
1445
1577
|
[propName: string]: any;
|
|
1446
1578
|
}
|
|
1447
1579
|
/**
|
|
1448
|
-
* @
|
|
1449
|
-
* @
|
|
1450
|
-
* @brief
|
|
1451
|
-
* 本文档是介绍火山引擎直播和点播播放器VePlayer的相关参数和Api。
|
|
1580
|
+
* @list Options
|
|
1581
|
+
* @kind property
|
|
1582
|
+
* @brief 实例化参数配置项
|
|
1452
1583
|
*/
|
|
1453
1584
|
export interface IPlayerConfig extends IPlayerOptions {
|
|
1454
|
-
/**
|
|
1455
|
-
* 是否是直播,默认为false
|
|
1456
|
-
* @
|
|
1457
|
-
* @
|
|
1585
|
+
/** {zh}
|
|
1586
|
+
* @brief 是否是直播,默认为false
|
|
1587
|
+
* @default false
|
|
1588
|
+
* @hidden
|
|
1458
1589
|
*/
|
|
1459
1590
|
isLive?: boolean;
|
|
1460
|
-
/**
|
|
1461
|
-
* 播放器容器id,VePlayer将被插入在该容器中
|
|
1462
|
-
*
|
|
1463
|
-
* @
|
|
1464
|
-
* @type {string}
|
|
1465
|
-
* @memberof IPlayerConfig
|
|
1591
|
+
/** {zh}
|
|
1592
|
+
* @brief 播放器容器id,VePlayer将被插入在该容器中
|
|
1593
|
+
* @notes `id`和`root`参数至少传入 1 个。
|
|
1594
|
+
* @default -
|
|
1466
1595
|
*/
|
|
1467
1596
|
id?: string;
|
|
1468
|
-
/**
|
|
1469
|
-
*
|
|
1470
|
-
*
|
|
1471
|
-
* @
|
|
1472
|
-
* @memberof IPlayerConfig
|
|
1597
|
+
/** {zh}
|
|
1598
|
+
* @brief 播放器容器DOM元素,VePlayer将被插入在该容器中
|
|
1599
|
+
* @notes `id`和`root`参数至少传入 1 个。
|
|
1600
|
+
* @default -
|
|
1473
1601
|
*/
|
|
1474
1602
|
root?: HTMLElement;
|
|
1475
|
-
/**
|
|
1476
|
-
*
|
|
1477
|
-
*
|
|
1478
|
-
*
|
|
1479
|
-
* @type {string}
|
|
1480
|
-
* @memberof IPlayerConfig
|
|
1603
|
+
/** {zh}
|
|
1604
|
+
* @brief 视频地址
|
|
1605
|
+
* @default -
|
|
1481
1606
|
*/
|
|
1482
1607
|
url?: string;
|
|
1483
1608
|
/**
|
|
1484
|
-
*
|
|
1485
|
-
* @
|
|
1609
|
+
* @brief 视频点播媒资中的视频vid,推荐填写,以方便跟踪播放质量
|
|
1610
|
+
* @default -
|
|
1611
|
+
*/
|
|
1612
|
+
vid?: string;
|
|
1613
|
+
/** {zh}
|
|
1614
|
+
* @brief vid播放配置项
|
|
1615
|
+
* @notes 需要业务方服务端通过vid生成临时playAuthToken
|
|
1486
1616
|
*
|
|
1487
|
-
* @type {
|
|
1617
|
+
* @type {IPlayAuthTokenConfig}
|
|
1488
1618
|
* @memberof IPlayerConfig
|
|
1489
1619
|
*/
|
|
1620
|
+
getVideoByToken?: IPlayAuthTokenConfig;
|
|
1621
|
+
/** {zh}
|
|
1622
|
+
* @brief 视频格式/协议类型。取值如下:
|
|
1623
|
+
* - `mp4`
|
|
1624
|
+
* - `hls`
|
|
1625
|
+
* - `dash`
|
|
1626
|
+
* - `flv`
|
|
1627
|
+
* @notes 如果`url`参数视频地址不包含文件格式后缀,则`streamType`必传。
|
|
1628
|
+
*/
|
|
1490
1629
|
streamType?: "mp4" | "hls" | "dash" | "rtm" | "flv";
|
|
1491
|
-
/**
|
|
1492
|
-
*
|
|
1493
|
-
* @
|
|
1494
|
-
|
|
1630
|
+
/** {zh}
|
|
1631
|
+
* @brief 播放器宽度,可以是数字或者css width 属性值,是数字时单位是`px`
|
|
1632
|
+
* @default 100%
|
|
1633
|
+
*/
|
|
1634
|
+
width?: number | string;
|
|
1635
|
+
/** {zh}
|
|
1636
|
+
* @brief 播放器高度,可以是数字或者css width 属性值,是数字时单位是`px`
|
|
1637
|
+
* @default 100%
|
|
1638
|
+
*/
|
|
1639
|
+
height?: number | string;
|
|
1640
|
+
/** {zh}
|
|
1641
|
+
* @brief 默认音量
|
|
1642
|
+
* @default 0.6
|
|
1643
|
+
*/
|
|
1644
|
+
volume?: number;
|
|
1645
|
+
/** {zh}
|
|
1646
|
+
* @brief 是否自动播放。取值如下:
|
|
1647
|
+
* - `true`:是
|
|
1648
|
+
* - `false`:否
|
|
1649
|
+
* @default false
|
|
1650
|
+
* @notice 受限制于浏览器策略,自动播放不一定能成功,取决于浏览器环境、用户行为、浏览器配置等,详细参考自动播放 @link https://www.volcengine.com/docs/4/68693#%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE
|
|
1651
|
+
*/
|
|
1652
|
+
autoplay?: boolean;
|
|
1653
|
+
poster?: string | IPoster;
|
|
1654
|
+
/** {zh}
|
|
1655
|
+
* @brief 是否开启静音自动播放。取值如下:
|
|
1656
|
+
* - `true`:是
|
|
1657
|
+
* - `false`:否
|
|
1658
|
+
* @default false
|
|
1659
|
+
*/
|
|
1660
|
+
autoplayMuted?: boolean;
|
|
1661
|
+
/** {zh}
|
|
1662
|
+
* @brief 有声音自动播放失败时是否降级成静音自动播放,默认不降级
|
|
1663
|
+
* - `true`:是,降级
|
|
1664
|
+
* - `false`:否,不降级
|
|
1665
|
+
* @default false
|
|
1666
|
+
*/
|
|
1667
|
+
enableDegradeMuteAutoplay?: boolean;
|
|
1668
|
+
/** {zh}
|
|
1669
|
+
* @brief 启用微信jsBridge方式的自动播放,默认不开启
|
|
1670
|
+
* - `true`:是,降级
|
|
1671
|
+
* - `false`:否,不降级
|
|
1672
|
+
* @default false
|
|
1673
|
+
*/
|
|
1674
|
+
enableWxJsBridgeAutoplay?: boolean;
|
|
1675
|
+
/** {zh}
|
|
1676
|
+
* @brief 开启任意点击的用户行为触发自动播放,默认不开启
|
|
1677
|
+
* - `true`:是,开启
|
|
1678
|
+
* - `false`:否,不开启
|
|
1679
|
+
* @default false
|
|
1680
|
+
*/
|
|
1681
|
+
enableUserActionAutoplay?: boolean;
|
|
1682
|
+
/** {zh}
|
|
1683
|
+
* @brief 是否开启循环播放。
|
|
1684
|
+
* - `true`:是,开启
|
|
1685
|
+
* - `false`:否,不开启
|
|
1686
|
+
* @default false
|
|
1687
|
+
*/
|
|
1688
|
+
loop?: boolean;
|
|
1689
|
+
/** {zh}
|
|
1690
|
+
* @brief 默认起播倍速。参考值 0.5/0.75/1/1.5/2
|
|
1691
|
+
* @default 1
|
|
1692
|
+
*/
|
|
1693
|
+
defaultPlaybackRate?: number;
|
|
1694
|
+
/** {zh}
|
|
1695
|
+
* @brief 国际化语言。支持自定义,默认语言类型包括:
|
|
1696
|
+
* - `zh` 或 `zh-cn`
|
|
1697
|
+
* - `en`
|
|
1698
|
+
* - `jp`
|
|
1699
|
+
* - `zh-hk`
|
|
1700
|
+
* @default zh
|
|
1701
|
+
*/
|
|
1702
|
+
lang?: "zh" | "zh-cn" | "en" | "jp" | "zh-hk";
|
|
1703
|
+
/** {zh}
|
|
1704
|
+
* @brief 自定义多语言词典。可设置每个语种的词典 `{ [key: string]: Object; }`。例如:
|
|
1705
|
+
* ```javascript
|
|
1706
|
+
* {
|
|
1707
|
+
* zh: {
|
|
1708
|
+
* PIP: '画中画'
|
|
1709
|
+
* },
|
|
1710
|
+
* en: {
|
|
1711
|
+
* PIP: 'pip'
|
|
1712
|
+
* }
|
|
1713
|
+
* }
|
|
1714
|
+
* ```
|
|
1715
|
+
* @notice
|
|
1716
|
+
* @see 了解更多,请参见{@link https://www.volcengine.com/docs/6469/127529 默认词典}。
|
|
1717
|
+
*/
|
|
1718
|
+
languages?: {
|
|
1719
|
+
[key: string]: Record<string, any>;
|
|
1720
|
+
};
|
|
1721
|
+
/** {zh}
|
|
1722
|
+
* @brief 画中画配置
|
|
1723
|
+
* @default PC: {position: 'controlsRight', index: 2.5, showIcon: true}; mobile:false
|
|
1724
|
+
* @notice 画中画功能由浏览器提供,如果本身浏览器不支持,即使有该配置也不显示画中画按钮
|
|
1725
|
+
*/
|
|
1726
|
+
pip?: IPIPConfig | boolean;
|
|
1727
|
+
/** {zh}
|
|
1728
|
+
* @brief 全屏相关配置
|
|
1729
|
+
* @default {position: 'controlsRight', index: 0, rotateFullscreen: false, useCssFullscreen: false, target: null, switchCallback: null, disable: false, needBackIcon: false }
|
|
1730
|
+
*/
|
|
1731
|
+
fullscreen?: IFullscreenConfig;
|
|
1732
|
+
/** {zh}
|
|
1733
|
+
* @breif 是否总是显示清晰度切换控件,即只有一个清晰度时也显示清晰度切换控件
|
|
1734
|
+
* @default false
|
|
1495
1735
|
*/
|
|
1496
1736
|
alwaysShowDefinition?: boolean;
|
|
1497
|
-
/**
|
|
1498
|
-
* url
|
|
1499
|
-
*
|
|
1500
|
-
* @type {string}
|
|
1501
|
-
* @memberof IPlayerConfig
|
|
1737
|
+
/** {zh}
|
|
1738
|
+
* @breif url对应视频的清晰度文案,仅`alwaysShowDefinition`为`true`时有效
|
|
1739
|
+
* @default HD
|
|
1502
1740
|
*/
|
|
1503
1741
|
definitionText?: string;
|
|
1504
|
-
/**
|
|
1505
|
-
* url对应视频的清晰度文案的多语言key,对应参数 languages 中相对应的文案,仅alwaysShowDefinition为true时有效,优先级高于definitionText
|
|
1506
|
-
*
|
|
1507
|
-
* @type {string}
|
|
1508
|
-
* @memberof IPlayerConfig
|
|
1742
|
+
/** {zh}
|
|
1743
|
+
* @brief url对应视频的清晰度文案的多语言key,对应参数 languages 中相对应的文案,仅alwaysShowDefinition为true时有效,优先级高于definitionText
|
|
1744
|
+
* @default -
|
|
1509
1745
|
*/
|
|
1510
1746
|
definitionTextKey?: string;
|
|
1511
|
-
/**
|
|
1512
|
-
* 视频编码方式
|
|
1747
|
+
/** {zh}
|
|
1748
|
+
* @brief 视频编码方式
|
|
1513
1749
|
* 软解useSoftDecoding设置为true时,提供codec可提升软解初始效率
|
|
1514
|
-
*
|
|
1515
|
-
* @type {CodecType}
|
|
1516
|
-
* @memberof IPlayerConfig
|
|
1750
|
+
* @notice 在已知视频编码方式的情况下推荐传入,以方便日志分析
|
|
1517
1751
|
*/
|
|
1518
|
-
codec?: CodecType
|
|
1519
|
-
/**
|
|
1520
|
-
*
|
|
1521
|
-
* @
|
|
1522
|
-
* 火山引擎海外区域播放时请填写'
|
|
1523
|
-
*
|
|
1524
|
-
|
|
1525
|
-
|
|
1752
|
+
codec?: `${CodecType}`;
|
|
1753
|
+
/** {zh}
|
|
1754
|
+
* @brief 点播服务所在区域,影响服务接口和日志上报
|
|
1755
|
+
* @default cn
|
|
1756
|
+
* @notice 火山引擎海外区域播放时请填写'mya'
|
|
1757
|
+
* @hidden
|
|
1758
|
+
*/
|
|
1759
|
+
/** {en}
|
|
1760
|
+
* @brief The area where the on-demand service is located affects the service interface and log reporting.
|
|
1761
|
+
* @default sg
|
|
1762
|
+
* @hidden
|
|
1526
1763
|
*/
|
|
1527
1764
|
region?: TRegionType;
|
|
1528
|
-
/**
|
|
1529
|
-
*
|
|
1530
|
-
* @
|
|
1531
|
-
* @
|
|
1765
|
+
/** {zh}
|
|
1766
|
+
* @brief 插件加载公共路径,用于指定插件的加载路径,或者本地文件服务加载插件
|
|
1767
|
+
* @default https://lf-unpkg.volccdn.com/obj/vcloudfe/sdk/@volcengine/veplayer/${version}/plugin
|
|
1768
|
+
* @notice 可将插件文件夹置于业务方服务器上,指定插件的地址即可
|
|
1532
1769
|
*/
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
*
|
|
1536
|
-
*
|
|
1537
|
-
* @type {(string)}
|
|
1538
|
-
* @memberof IPlayerConfig
|
|
1770
|
+
/** {en}
|
|
1771
|
+
* @brief plug loading public path, used to specify the loading path of the plug-in, or the local file service to load the plug-in
|
|
1772
|
+
* @default https://sf-unpkg.bytepluscdn.com/obj/byteplusfe-sg/sdk/@byteplus/veplayer/${version}/plugin
|
|
1773
|
+
* @notice can place the plug-in folder on the business server and specify the address of the plug-in.
|
|
1539
1774
|
*/
|
|
1540
1775
|
pluginPublicPath?: string;
|
|
1541
1776
|
/**
|
|
1542
|
-
*
|
|
1777
|
+
* @brief 开始播放时间
|
|
1778
|
+
* @default -
|
|
1779
|
+
*/
|
|
1780
|
+
startTime?: number;
|
|
1781
|
+
/** {zh}
|
|
1782
|
+
* @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
|
|
1783
|
+
* - `true`:启用,表示视频将在页面文档内播放;
|
|
1784
|
+
* - `false`:停用,默认浏览器播放行为。</br>
|
|
1543
1785
|
*
|
|
1544
|
-
*
|
|
1545
|
-
* @
|
|
1786
|
+
* 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
|
|
1787
|
+
* @listtip
|
|
1788
|
+
* - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
|
|
1789
|
+
* - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
|
|
1790
|
+
* @default true
|
|
1791
|
+
*/
|
|
1792
|
+
playsinline?: boolean;
|
|
1793
|
+
/** {zh}
|
|
1794
|
+
* @brief 为播放器设置 video 标签扩展属性,初始化时会设置在 videoElement 或 audioElement 对象上,请参考 [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement#properties) 查看其支持的属性配置。
|
|
1795
|
+
* @default 无
|
|
1796
|
+
*/
|
|
1797
|
+
videoAttributes?: Partial<HTMLVideoElement>;
|
|
1798
|
+
/** {zh}
|
|
1799
|
+
* @brief 为播放器设置是否启用流式布局,启用流式布局后播放器会根据屏幕的宽度进行调整,保持在不同屏幕尺寸上都有良好的显示效果。
|
|
1800
|
+
* - `true`:启用
|
|
1801
|
+
* - `false`:停用
|
|
1802
|
+
* @listtip
|
|
1803
|
+
* 启用流式布局时:
|
|
1804
|
+
* - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
|
|
1805
|
+
* - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
|
|
1806
|
+
* @default false
|
|
1807
|
+
*/
|
|
1808
|
+
fluid?: boolean;
|
|
1809
|
+
/** {zh}
|
|
1810
|
+
* @brief 为播放器设置尺寸适配方式,在视频资源初始化之后,根据获取到的 videoWidth 和 videoHeight 值对播放器容器宽高比例进行调整,可选项有:
|
|
1811
|
+
* - `fixed`: 保持容器宽/高,不做适配;
|
|
1812
|
+
* - `fixWidth`: 保持容器宽度,适配高度;
|
|
1813
|
+
* - `fixHeight`: 保持容器高度,适配宽度。
|
|
1814
|
+
*
|
|
1815
|
+
* @default fixed
|
|
1816
|
+
*/
|
|
1817
|
+
fitVideoSize?: "fixWidth" | "fixHeight" | "fixed";
|
|
1818
|
+
/** {zh}
|
|
1819
|
+
* @brief 为播放器设置视频画面填充模式,可选项有:
|
|
1820
|
+
* - `fillwidth`: 填充宽度,高度溢出则裁剪高度;
|
|
1821
|
+
* - `fillHeight`: 填充高度,宽度溢出则裁剪宽度;
|
|
1822
|
+
* - `fill`: 拉伸视频以填充容器;
|
|
1823
|
+
* - `cover`: 保持其宽高比的同时填充元素的整个内容框;
|
|
1824
|
+
* - `auto`: 使用浏览器默认的视频画面填充模式。
|
|
1825
|
+
* @default auto
|
|
1826
|
+
*/
|
|
1827
|
+
videoFillMode?: "auto" | "fillHeight" | "fillWidth" | "fill" | "cover";
|
|
1828
|
+
/** {zh}
|
|
1829
|
+
* @brief 是否开启画面和控制栏分离模式。设置为开启时,控制栏将会常驻,与视频画面不重叠。
|
|
1830
|
+
* - `true`:开启
|
|
1831
|
+
* - `false`:关闭
|
|
1832
|
+
* @default false
|
|
1833
|
+
*/
|
|
1834
|
+
marginControls?: boolean;
|
|
1835
|
+
/** {zh}
|
|
1836
|
+
* @brief 启用x5内核浏览器的同层播放。
|
|
1837
|
+
* @default 无
|
|
1838
|
+
*/
|
|
1839
|
+
"x5-video-player-type"?: string;
|
|
1840
|
+
/** {zh}
|
|
1841
|
+
* @brief 是否启用x5内核浏览器的全屏播放模式。
|
|
1842
|
+
* - `true`:启用
|
|
1843
|
+
* - `false`:停用
|
|
1844
|
+
* @default 无
|
|
1845
|
+
*/
|
|
1846
|
+
"x5-video-player-fullscreen"?: boolean;
|
|
1847
|
+
/** {zh}
|
|
1848
|
+
* @brief x5内核浏览器的横竖屏控制,支持如下取值:
|
|
1849
|
+
* - `landscape`:横屏
|
|
1850
|
+
* - `portrait`:竖屏
|
|
1851
|
+
* - `landscape|portrait`:跟随手机自动旋转
|
|
1852
|
+
* @default
|
|
1853
|
+
* - mobile:`landscape|portrait`
|
|
1854
|
+
* - pc:-
|
|
1855
|
+
*/
|
|
1856
|
+
"x5-video-orientation"?: "landscape" | "portrait" | "landscape|portrait";
|
|
1857
|
+
/** {zh}
|
|
1858
|
+
* @brief 为播放器配置关键点样式。
|
|
1859
|
+
* @default 无
|
|
1860
|
+
* @hidden 直播目前没用到
|
|
1861
|
+
*/
|
|
1862
|
+
commonStyle?: ICommonStyle;
|
|
1863
|
+
/** {zh}
|
|
1864
|
+
* @brief 是否启用音乐播放器模式
|
|
1865
|
+
* @default `false`
|
|
1546
1866
|
*/
|
|
1547
1867
|
isMusic?: boolean;
|
|
1548
|
-
/**
|
|
1868
|
+
/** {zh}
|
|
1869
|
+
* @hidden
|
|
1549
1870
|
* 是否开启播放器原生控件菜单(右键触发)
|
|
1550
1871
|
* @default false 默认不开启
|
|
1551
1872
|
*
|
|
@@ -1553,249 +1874,177 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1553
1874
|
* @memberof IPlayerConfig
|
|
1554
1875
|
*/
|
|
1555
1876
|
enableContextmenu?: boolean;
|
|
1556
|
-
/**
|
|
1557
|
-
*
|
|
1558
|
-
* @default false
|
|
1559
|
-
*
|
|
1560
|
-
* @type {boolean}
|
|
1561
|
-
* @memberof IPlayerConfig
|
|
1877
|
+
/** {zh}
|
|
1878
|
+
* @brief 是否关闭video上的阻止事件传播
|
|
1879
|
+
* @default `false`
|
|
1562
1880
|
*/
|
|
1563
1881
|
closeVideoStopPropagation?: boolean;
|
|
1564
|
-
/**
|
|
1565
|
-
*
|
|
1566
|
-
* @default false
|
|
1567
|
-
*
|
|
1568
|
-
* @type {boolean}
|
|
1569
|
-
* @memberof IPlayerConfig
|
|
1882
|
+
/** {zh}
|
|
1883
|
+
* @brief 右键菜单是否可用
|
|
1884
|
+
* @default `false`
|
|
1570
1885
|
*/
|
|
1571
1886
|
enableMenu?: boolean;
|
|
1572
|
-
/**
|
|
1573
|
-
* 是否开启hls的MSE
|
|
1574
|
-
*
|
|
1575
|
-
* @type {boolean}
|
|
1576
|
-
* @memberof IPlayerConfig
|
|
1887
|
+
/** {zh}
|
|
1888
|
+
* @brief 是否开启hls的MSE模式,
|
|
1889
|
+
* @notice 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
1577
1890
|
*/
|
|
1578
1891
|
enableHlsMSE?: boolean;
|
|
1579
|
-
/**
|
|
1580
|
-
* 在PC Safari
|
|
1581
|
-
*
|
|
1582
|
-
*
|
|
1583
|
-
* @
|
|
1892
|
+
/** {zh}
|
|
1893
|
+
* @brief 在PC Safari上是否使用hls插件播放
|
|
1894
|
+
* - true: 使用;
|
|
1895
|
+
* - false: 不使用
|
|
1896
|
+
* @default `true`
|
|
1584
1897
|
*/
|
|
1585
1898
|
useHlsPluginForSafari?: boolean;
|
|
1586
|
-
/**
|
|
1587
|
-
* 是否开启mp4的MSE模式,开启后采用MSE方式播放MP4,
|
|
1588
|
-
*
|
|
1589
|
-
*
|
|
1590
|
-
* @type {boolean}
|
|
1591
|
-
* @memberof IPlayerConfig
|
|
1899
|
+
/** {zh}
|
|
1900
|
+
* @brief 是否开启mp4的MSE模式,开启后采用MSE方式播放MP4,
|
|
1901
|
+
* mp4的MSE模式具有精确的seek加载、视频的无缝切换、流量节省等功能
|
|
1902
|
+
* @default `false`
|
|
1592
1903
|
*/
|
|
1593
1904
|
enableMp4MSE?: boolean;
|
|
1594
|
-
/**
|
|
1595
|
-
* 播放列表
|
|
1905
|
+
/** {zh}
|
|
1906
|
+
* @brief 播放列表
|
|
1596
1907
|
* @notes url和playList必填一个,二者都传入时, url必须在playList中。
|
|
1597
|
-
*
|
|
1598
|
-
* @type {Stream[]}
|
|
1599
|
-
* @memberof IPlayerConfig
|
|
1908
|
+
* @default -
|
|
1600
1909
|
*/
|
|
1601
1910
|
playList?: Stream[];
|
|
1602
|
-
/**
|
|
1603
|
-
*
|
|
1604
|
-
*
|
|
1605
|
-
*
|
|
1606
|
-
* @type {any[]}
|
|
1607
|
-
* @memberof IPlayerConfig
|
|
1911
|
+
/** {zh}
|
|
1912
|
+
* @brief 插件,可自行选择安装的插件,支持{@link https://h5player.bytedance.com/plugins/ 西瓜播放器插件}。
|
|
1913
|
+
* @default -
|
|
1608
1914
|
*/
|
|
1609
1915
|
plugins?: any[];
|
|
1610
|
-
/**
|
|
1611
|
-
*
|
|
1916
|
+
/** {zh}
|
|
1917
|
+
* @brief 忽略加载的插件,用于禁用默认加载的插件,传入插件名称数组,名称不区分大小写
|
|
1918
|
+
* @default []
|
|
1919
|
+
*/
|
|
1920
|
+
ignores?: string[];
|
|
1921
|
+
/** {zh}
|
|
1922
|
+
* @brief 默认配置
|
|
1612
1923
|
* @hidden
|
|
1613
|
-
*
|
|
1614
|
-
* @type {IDefaultConfig}
|
|
1615
|
-
* @memberof IPlayerConfig
|
|
1616
1924
|
*/
|
|
1617
1925
|
defaultConfig?: IDefaultConfig;
|
|
1618
|
-
/**
|
|
1619
|
-
* 设置多语言词典,可设置每个语言的多语言词典,
|
|
1620
|
-
* 例如:
|
|
1621
|
-
* {
|
|
1622
|
-
* zh: {
|
|
1623
|
-
* PIP: '画中画'
|
|
1624
|
-
* },
|
|
1625
|
-
* en: {
|
|
1626
|
-
* PIP: 'pip'
|
|
1627
|
-
* }
|
|
1628
|
-
* }
|
|
1629
|
-
*
|
|
1630
|
-
* @type {{ [key: string]: Record<string, any> }}
|
|
1631
|
-
* @memberof IPlayerConfig
|
|
1632
|
-
*/
|
|
1633
|
-
languages?: {
|
|
1634
|
-
[key: string]: Record<string, any>;
|
|
1635
|
-
};
|
|
1636
|
-
/**
|
|
1926
|
+
/** {zh}
|
|
1637
1927
|
* @hidden
|
|
1638
|
-
*
|
|
1639
|
-
* @type {boolean}
|
|
1640
|
-
* @memberof IPlayerConfig
|
|
1928
|
+
* @brief 模拟mobile
|
|
1641
1929
|
*/
|
|
1642
1930
|
isMobile?: boolean;
|
|
1643
|
-
/**
|
|
1644
|
-
* umd
|
|
1645
|
-
*
|
|
1931
|
+
/** {zh}
|
|
1932
|
+
* @brief umd插件依赖备用地址
|
|
1933
|
+
* 用于依赖的插件所在CDN发生网络错误时的进行安全降级的备用地址,可以是相对地址
|
|
1646
1934
|
* 支持的依赖有hls(非加密hls播放)、flv(flv播放)、XGVideo(软解播放)、hlsEncrypt(加密hls播放)、dash(dash播放)、mp4Encrypt(加密np4播放)、danmujs(弹幕)、danmuMask(蒙版弹幕)、subtitle(外挂字幕)
|
|
1935
|
+
* @example 以配置hls插件的备用地址为例
|
|
1936
|
+
* ```
|
|
1937
|
+
* const playerSdkIns = new VePlayer({
|
|
1938
|
+
* url: 'demo.m3u8',
|
|
1939
|
+
* id: 'video',
|
|
1940
|
+
* umdUrlMap: {
|
|
1941
|
+
* hls: '/VePlayerPlugin/hls.js'
|
|
1942
|
+
* }
|
|
1943
|
+
* })
|
|
1944
|
+
* ```
|
|
1945
|
+
* @default -
|
|
1946
|
+
* @notice 插件可以从{@link https://www.volcengine.com/docs/4/67077 集成SDK} 章节中下载SDK离线包获取
|
|
1647
1947
|
*/
|
|
1648
1948
|
umdUrlMap?: Record<string, string>;
|
|
1649
1949
|
/**
|
|
1650
|
-
*
|
|
1651
|
-
*
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1950
|
+
* @brief 唯一id,用于私有DRM加密
|
|
1951
|
+
* @default -
|
|
1952
|
+
*/
|
|
1953
|
+
unionId?: string;
|
|
1954
|
+
/** {zh}
|
|
1955
|
+
* @brief 是否启用软解
|
|
1956
|
+
* @default `false`
|
|
1655
1957
|
*/
|
|
1656
1958
|
useSoftDecoding?: boolean;
|
|
1657
|
-
/**
|
|
1658
|
-
* 是否开H265播放降级,即H.265硬解不支持时自动降级为软解
|
|
1659
|
-
*
|
|
1660
|
-
* @type {boolean}
|
|
1661
|
-
* @memberof IPlayerConfig
|
|
1959
|
+
/** {zh}
|
|
1960
|
+
* @brief 是否开H265播放降级,即H.265硬解不支持时自动降级为软解
|
|
1961
|
+
* @default `false`
|
|
1662
1962
|
*/
|
|
1663
1963
|
enableH265Degrade?: boolean;
|
|
1664
|
-
/**
|
|
1665
|
-
*
|
|
1666
|
-
*
|
|
1667
|
-
* @
|
|
1668
|
-
* @memberof IPlayerConfig
|
|
1964
|
+
/** {zh}
|
|
1965
|
+
* @hidden
|
|
1966
|
+
* @brief 资源过期时的回调函数,用来更新视频资源
|
|
1967
|
+
* @default -
|
|
1669
1968
|
*/
|
|
1670
1969
|
onMediaExpired?: () => Promise<IPlayerConfig>;
|
|
1671
|
-
/**
|
|
1672
|
-
* playAuthToken过期时的回调函数,用来更新playAuthToken
|
|
1673
|
-
*
|
|
1674
|
-
* @type {(any) => Promise<IPlayAuthTokenConfig>}
|
|
1675
|
-
* @memberof IPlayerConfig
|
|
1970
|
+
/** {zh}
|
|
1971
|
+
* @brief playAuthToken过期时的回调函数,用来更新playAuthToken
|
|
1972
|
+
* @default -
|
|
1676
1973
|
*/
|
|
1677
1974
|
onTokenExpired?: () => Promise<IPlayAuthTokenConfig>;
|
|
1678
|
-
/**
|
|
1679
|
-
*
|
|
1680
|
-
*
|
|
1681
|
-
* @
|
|
1682
|
-
* @memberof IPlayerConfig
|
|
1975
|
+
/** {zh}
|
|
1976
|
+
* @hidden
|
|
1977
|
+
* @brief 定期检查资源过期的周期,单位秒
|
|
1978
|
+
* @default `400`
|
|
1683
1979
|
*/
|
|
1684
1980
|
checkExpireInterval?: number;
|
|
1685
|
-
/**
|
|
1686
|
-
*
|
|
1687
|
-
*
|
|
1688
|
-
*
|
|
1689
|
-
*
|
|
1690
|
-
*
|
|
1691
|
-
* @memberof IPlayerConfig
|
|
1692
|
-
*/
|
|
1693
|
-
expireDetectType?: Array<"xhrStatus" | "getUrlTime">;
|
|
1694
|
-
/**
|
|
1695
|
-
* 有声音自动播放失败时是否降级成静音自动播放,默认不降级
|
|
1696
|
-
*
|
|
1697
|
-
* @type {boolean}
|
|
1698
|
-
* @memberof IPlayerConfig
|
|
1699
|
-
*/
|
|
1700
|
-
enableDegradeMuteAutoplay?: boolean;
|
|
1701
|
-
/**
|
|
1702
|
-
* 启用微信jsBridge方式的自动播放,默认不开启
|
|
1703
|
-
*
|
|
1704
|
-
* @type {boolean}
|
|
1705
|
-
* @memberof IPlayerConfig
|
|
1706
|
-
*/
|
|
1707
|
-
enableWxJsBridgeAutoplay?: boolean;
|
|
1708
|
-
/**
|
|
1709
|
-
* 开启任意点击的用户行为触发自动播放,默认不开启
|
|
1710
|
-
*
|
|
1711
|
-
* @type {boolean}
|
|
1712
|
-
* @memberof IPlayerConfig
|
|
1981
|
+
/** {zh}
|
|
1982
|
+
* @hidden
|
|
1983
|
+
* @brief 定期检查资源过期的方式,支持三种类型
|
|
1984
|
+
* - `urlExpire`: 根据url的过期时间判断
|
|
1985
|
+
* - `xhrStatus`: 发送资源请求,根据资源xhr状态判断
|
|
1986
|
+
* - `getUrlTime`: 根据估算的地址获取时间判断
|
|
1713
1987
|
*/
|
|
1714
|
-
|
|
1715
|
-
/**
|
|
1716
|
-
*
|
|
1717
|
-
*
|
|
1718
|
-
* @
|
|
1719
|
-
* @memberof IPlayerConfig
|
|
1988
|
+
expireDetectType?: Array<"urlExpire" | "xhrStatus" | "getUrlTime">;
|
|
1989
|
+
/** {zh}
|
|
1990
|
+
* @hidden
|
|
1991
|
+
* @brief 禁用点播日志配置检测,默认开启,如果未配置line_app_id则会播放报错
|
|
1992
|
+
* @default -
|
|
1720
1993
|
*/
|
|
1721
1994
|
disableVodLogOptsCheck?: boolean;
|
|
1722
|
-
/**
|
|
1723
|
-
* 播放器报错展示配置, 可以配置播放异常时的播放器显示的异常文案、图片,以及是否提供刷新按钮等
|
|
1724
|
-
*
|
|
1995
|
+
/** {zh}
|
|
1996
|
+
* @brief 播放器报错展示配置, 可以配置播放异常时的播放器显示的异常文案、图片,以及是否提供刷新按钮等
|
|
1997
|
+
* @default -
|
|
1725
1998
|
*/
|
|
1726
1999
|
sdkErrorPlugin?: ISdkErrorConfig;
|
|
1727
|
-
/**
|
|
1728
|
-
* rtm配置,配置rtm拉流参数
|
|
2000
|
+
/** {zh}
|
|
2001
|
+
* @brief rtm配置,配置rtm拉流参数
|
|
1729
2002
|
* @notes 传入rtm流url时才生效
|
|
1730
|
-
*
|
|
1731
|
-
* @type {IRtmConfig}
|
|
1732
|
-
* @memberof IPlayerConfig
|
|
2003
|
+
* @default -
|
|
1733
2004
|
*/
|
|
1734
2005
|
rtm?: IRtmConfig;
|
|
1735
2006
|
/**
|
|
1736
|
-
*
|
|
1737
|
-
*
|
|
1738
|
-
* @type {InitConfig | boolean}
|
|
1739
|
-
* @memberof IPlayerConfig
|
|
2007
|
+
* @brief 弹幕及面板配置,可配置弹幕的一些参数,如弹幕文字大小、透明度、展示区域等
|
|
2008
|
+
* @default -
|
|
1740
2009
|
*/
|
|
1741
|
-
DanmuPlugin?:
|
|
2010
|
+
DanmuPlugin?: IDanmuConfig | boolean;
|
|
1742
2011
|
/**
|
|
1743
|
-
* 清晰度自动降级配置
|
|
1744
|
-
* @
|
|
1745
|
-
*
|
|
1746
|
-
* @type {IDefinitionDemotePlugin}
|
|
1747
|
-
* @memberof IPlayerConfig
|
|
2012
|
+
* @brief 清晰度自动降级配置
|
|
2013
|
+
* @hidden
|
|
2014
|
+
* @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
|
|
1748
2015
|
*/
|
|
1749
2016
|
DefinitionDemotePlugin?: IDefinitionDemotePlugin;
|
|
1750
2017
|
/**
|
|
1751
|
-
*
|
|
1752
|
-
*
|
|
1753
|
-
* @
|
|
1754
|
-
* @memberof IPlayerConfig
|
|
1755
|
-
*/
|
|
1756
|
-
unionId?: string;
|
|
1757
|
-
/**
|
|
1758
|
-
* vid播放配置项
|
|
1759
|
-
* @notes 需要业务方服务端通过vid生成临时playAuthToken
|
|
1760
|
-
*
|
|
1761
|
-
* @type {IPlayAuthTokenConfig}
|
|
1762
|
-
* @memberof IPlayerConfig
|
|
1763
|
-
*/
|
|
1764
|
-
getVideoByToken?: IPlayAuthTokenConfig;
|
|
1765
|
-
/**
|
|
1766
|
-
* dash 播放配置项
|
|
1767
|
-
* @type {Partial<IDashPluginConfig>}
|
|
1768
|
-
* @memberof IPlayerConfig
|
|
2018
|
+
* @hidden
|
|
2019
|
+
* @brief DASH 播放配置项
|
|
2020
|
+
* @default -
|
|
1769
2021
|
*/
|
|
1770
2022
|
DASHPlugin?: Partial<IDashPluginConfig>;
|
|
1771
2023
|
/**
|
|
1772
|
-
*
|
|
1773
|
-
* @
|
|
1774
|
-
* @memberof IPlayerConfig
|
|
2024
|
+
* @brief HLS 加密播放配置项
|
|
2025
|
+
* @default -
|
|
1775
2026
|
*/
|
|
1776
2027
|
EncryptHlsPlugin?: Partial<IEncryptHlsPluginConfig> | boolean;
|
|
1777
2028
|
/**
|
|
1778
|
-
* 质量日志配置项
|
|
1779
|
-
* @
|
|
1780
|
-
* @memberof IPlayerConfig
|
|
2029
|
+
* @brief 质量日志配置项
|
|
2030
|
+
* @default -
|
|
1781
2031
|
*/
|
|
1782
2032
|
vodLogOpts?: Partial<IVodLogOptsConfig>;
|
|
1783
2033
|
/**
|
|
1784
|
-
*
|
|
1785
|
-
* @
|
|
1786
|
-
* @
|
|
2034
|
+
* @hidden
|
|
2035
|
+
* @brief mp4加密播放配置项
|
|
2036
|
+
* @default -
|
|
1787
2037
|
*/
|
|
1788
2038
|
Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
|
|
1789
2039
|
/**
|
|
1790
|
-
*
|
|
1791
|
-
* @
|
|
1792
|
-
* @
|
|
2040
|
+
* @hidden
|
|
2041
|
+
* @brief 自适应码率配置项
|
|
2042
|
+
* @default -
|
|
1793
2043
|
*/
|
|
1794
2044
|
autoBitrateOpts?: IAutoBitrateOptsConfig;
|
|
1795
2045
|
/**
|
|
1796
|
-
* 外挂字幕配置项
|
|
1797
|
-
* @
|
|
1798
|
-
* @memberof IPlayerConfig
|
|
2046
|
+
* @brief 外挂字幕配置项
|
|
2047
|
+
* @default -
|
|
1799
2048
|
*/
|
|
1800
2049
|
Subtitle?: ISubtitleConfig;
|
|
1801
2050
|
/**
|
|
@@ -1824,10 +2073,8 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1824
2073
|
playListPlugin?: IPlayListConfig;
|
|
1825
2074
|
}
|
|
1826
2075
|
/**
|
|
1827
|
-
* 初始配置
|
|
1828
|
-
*
|
|
1829
|
-
* @export
|
|
1830
|
-
* @interface IDefaultConfig
|
|
2076
|
+
* @brief初始配置
|
|
2077
|
+
* @hidden
|
|
1831
2078
|
*/
|
|
1832
2079
|
export interface IDefaultConfig {
|
|
1833
2080
|
/**
|
|
@@ -1888,105 +2135,80 @@ export interface IDefaultConfig {
|
|
|
1888
2135
|
LiveSubtitlesIconPlugin?: any;
|
|
1889
2136
|
}
|
|
1890
2137
|
/**
|
|
1891
|
-
* vid播放配置信息
|
|
1892
|
-
*
|
|
1893
|
-
* @
|
|
1894
|
-
* @description PlayAuthToken获取视频信息配置
|
|
1895
|
-
* @export
|
|
1896
|
-
* @interface IPlayAuthTokenConfig
|
|
2138
|
+
* @brief vid播放配置信息
|
|
2139
|
+
* @list Options
|
|
2140
|
+
* @kind property
|
|
1897
2141
|
*/
|
|
1898
2142
|
export interface IPlayAuthTokenConfig {
|
|
1899
|
-
/**
|
|
1900
|
-
*
|
|
1901
|
-
*
|
|
1902
|
-
* @type {string}
|
|
1903
|
-
* @memberof IPlayAuthTokenConfig
|
|
2143
|
+
/** {zh}
|
|
2144
|
+
* @brief 服务端生成的临时播放凭证。
|
|
2145
|
+
* @default -
|
|
1904
2146
|
*/
|
|
1905
2147
|
playAuthToken: string;
|
|
1906
|
-
/**
|
|
1907
|
-
* 默认清晰度
|
|
1908
|
-
*
|
|
2148
|
+
/** {zh}
|
|
2149
|
+
* @brief 默认清晰度
|
|
2150
|
+
* @default -
|
|
1909
2151
|
* @notes 为空时默认为最大码率的清晰度
|
|
1910
|
-
* @type {string}
|
|
1911
|
-
* @memberof IPlayAuthTokenConfig
|
|
1912
2152
|
*/
|
|
1913
2153
|
defaultDefinition?: string;
|
|
1914
|
-
/**
|
|
1915
|
-
*
|
|
1916
|
-
*
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
* @
|
|
2154
|
+
/** {zh}
|
|
2155
|
+
* @brief 获取播放地址的请求域名。
|
|
2156
|
+
* @default`https://vod.volcengineapi.com`
|
|
2157
|
+
*/
|
|
2158
|
+
/** {en}
|
|
2159
|
+
* @brief Get the requested domain name of the playback address
|
|
2160
|
+
* @default `https://vod.byteplusapi.com`
|
|
1920
2161
|
*/
|
|
1921
2162
|
playDomain?: string;
|
|
1922
|
-
/**
|
|
1923
|
-
*
|
|
1924
|
-
* @
|
|
1925
|
-
* @memberof IPlayAuthTokenConfig
|
|
2163
|
+
/** {zh}
|
|
2164
|
+
* @brief 是否启用控制台设置的封面图
|
|
2165
|
+
* @default `false`
|
|
1926
2166
|
*/
|
|
1927
2167
|
needPoster?: boolean;
|
|
1928
|
-
/**
|
|
1929
|
-
*
|
|
1930
|
-
* @
|
|
1931
|
-
* @memberof IPlayAuthTokenConfig
|
|
2168
|
+
/** {zh}
|
|
2169
|
+
* @brief 是否启用控制台设置的截图中的雪碧图
|
|
2170
|
+
* @default `false`
|
|
1932
2171
|
*/
|
|
1933
2172
|
needThumbs?: boolean;
|
|
1934
|
-
/**
|
|
1935
|
-
*
|
|
1936
|
-
* @
|
|
1937
|
-
* @memberof IPlayAuthTokenConfig
|
|
2173
|
+
/** {zh}
|
|
2174
|
+
* @brief 是否启用控制台设置的蒙版弹幕
|
|
2175
|
+
* @default `false`
|
|
1938
2176
|
*/
|
|
1939
2177
|
needBarrageMask?: boolean;
|
|
1940
|
-
/**
|
|
1941
|
-
*
|
|
1942
|
-
* @
|
|
1943
|
-
* @memberof IPlayAuthTokenConfig
|
|
2178
|
+
/** {zh}
|
|
2179
|
+
* @brief 是否需要多清晰度
|
|
2180
|
+
* @default `true`
|
|
1944
2181
|
*/
|
|
1945
2182
|
needDefinitionList?: boolean;
|
|
1946
|
-
/**
|
|
1947
|
-
*
|
|
1948
|
-
* @
|
|
1949
|
-
* @memberof IPlayAuthTokenConfig
|
|
1950
|
-
*/
|
|
1951
|
-
keyToken?: string;
|
|
1952
|
-
/**
|
|
1953
|
-
* 密钥请求域名
|
|
1954
|
-
* @type {string}
|
|
1955
|
-
* @memberof IPlayAuthTokenConfig
|
|
2183
|
+
/** {zh}
|
|
2184
|
+
* @briefhls标准加密播放所需要的keyToken
|
|
2185
|
+
* @default -
|
|
1956
2186
|
*/
|
|
1957
|
-
|
|
1958
|
-
/**
|
|
1959
|
-
*
|
|
1960
|
-
* @
|
|
1961
|
-
* @
|
|
2187
|
+
keyToken?: string;
|
|
2188
|
+
/** {zh}
|
|
2189
|
+
* @hidden
|
|
2190
|
+
* @brief 获取key方式,默认'TOP'
|
|
2191
|
+
* @default `'TOP'`
|
|
1962
2192
|
*/
|
|
1963
2193
|
getKeyType?: string;
|
|
1964
|
-
/**
|
|
1965
|
-
*
|
|
1966
|
-
* @type {(
|
|
1967
|
-
* playAuthIds: string,
|
|
1968
|
-
* vid: string,
|
|
1969
|
-
* unionInfo: string,
|
|
1970
|
-
* ) => Promise<string>}
|
|
2194
|
+
/** {zh}
|
|
2195
|
+
* @brief 获取`PrivateDrmAuthToken`的异步回调,
|
|
1971
2196
|
* 回调入参:
|
|
1972
|
-
* playAuthIds 视频的密钥 KeyID,对应OpenAPI GetPlayInfo{@link https://www.volcengine.com/docs/4/2918#%E8%AF%B7%E6%B1%82%E8%AF%B4%E6%98%8E} 返回视频信息中的PlayAuthId,当有多个KeyID时以英文逗号相连
|
|
1973
|
-
* vid 视频vid
|
|
1974
|
-
* unionInfo
|
|
1975
|
-
* @
|
|
1976
|
-
*
|
|
2197
|
+
* - `playAuthIds`: 视频的密钥 KeyID,对应OpenAPI GetPlayInfo{@link https://www.volcengine.com/docs/4/2918#%E8%AF%B7%E6%B1%82%E8%AF%B4%E6%98%8E} 返回视频信息中的PlayAuthId,当有多个KeyID时以英文逗号相连
|
|
2198
|
+
* - `vid`: 视频vid
|
|
2199
|
+
* - `unionInfo`: 由`unionId`生成的`unionInfo`,以用来加密`PrivateDrmAuthToken`
|
|
2200
|
+
* @default -
|
|
1977
2201
|
*/
|
|
1978
2202
|
getDrmAuthToken?: (playAuthIds: string, vid: string, unionInfo: string) => Promise<string>;
|
|
1979
|
-
/**
|
|
1980
|
-
* 可携带aid
|
|
2203
|
+
/** {zh}
|
|
2204
|
+
* @brief 可携带aid等透传参数,如:
|
|
1981
2205
|
* {aid: 1234},以playAuthToken下发的参数的优先级最高。
|
|
1982
2206
|
* 具体可传参数见{@link https://www.volcengine.com/docs/4/65659 签发 PlayAuthToken}
|
|
1983
|
-
*
|
|
1984
|
-
* @type {Record<string, number | string | boolean>}
|
|
1985
|
-
* @memberof IPlayAuthTokenConfig
|
|
2207
|
+
* @default -
|
|
1986
2208
|
*/
|
|
1987
2209
|
reqParams?: Record<string, number | string | boolean>;
|
|
1988
|
-
/**
|
|
1989
|
-
* 定义清晰度的映射
|
|
2210
|
+
/** {zh}
|
|
2211
|
+
* @brief 定义清晰度的映射
|
|
1990
2212
|
*
|
|
1991
2213
|
* @example 如:
|
|
1992
2214
|
* ``` javascript
|
|
@@ -2009,21 +2231,19 @@ export interface IPlayAuthTokenConfig {
|
|
|
2009
2231
|
* }
|
|
2010
2232
|
* ```
|
|
2011
2233
|
* `definitionTextKey`用来指定多语言的key
|
|
2012
|
-
* @
|
|
2013
|
-
* @memberof IPlayAuthTokenConfig
|
|
2234
|
+
* @default -
|
|
2014
2235
|
*/
|
|
2015
2236
|
definitionMap?: Record<string, string | definitionItem>;
|
|
2016
|
-
/**
|
|
2017
|
-
*
|
|
2018
|
-
* @
|
|
2019
|
-
* @memberof IPlayAuthTokenConfig
|
|
2237
|
+
/** {zh}
|
|
2238
|
+
* @brief 点播服务502错误时重试次数
|
|
2239
|
+
* @default 1
|
|
2020
2240
|
*/
|
|
2021
2241
|
retryCount?: number;
|
|
2022
2242
|
}
|
|
2023
2243
|
/**
|
|
2024
2244
|
* 清晰度定义
|
|
2025
2245
|
*
|
|
2026
|
-
* @
|
|
2246
|
+
* @list Options
|
|
2027
2247
|
* @export
|
|
2028
2248
|
* @interface definitionItem
|
|
2029
2249
|
*/
|
|
@@ -2095,34 +2315,242 @@ export interface IAutoBitrateOptsConfig {
|
|
|
2095
2315
|
module?: any;
|
|
2096
2316
|
}
|
|
2097
2317
|
/**
|
|
2098
|
-
*
|
|
2099
|
-
*
|
|
2100
|
-
* @
|
|
2318
|
+
* @brief 记忆播放配置项
|
|
2319
|
+
* @kind property
|
|
2320
|
+
* @list Options
|
|
2101
2321
|
* @interface IMemoryPlayConfig
|
|
2102
2322
|
*/
|
|
2103
2323
|
export interface IMemoryPlayConfig {
|
|
2104
2324
|
/**
|
|
2105
|
-
* 存储标识id
|
|
2325
|
+
* @brief 存储标识id
|
|
2326
|
+
* @default options.vid || options.url
|
|
2106
2327
|
*
|
|
2107
2328
|
* @type {number | string}
|
|
2108
2329
|
* @memberof IMemoryPlayConfig
|
|
2109
2330
|
*/
|
|
2110
2331
|
memoryId: number | string;
|
|
2111
2332
|
/**
|
|
2112
|
-
* 设置时间函数
|
|
2333
|
+
* @brief 设置时间函数
|
|
2334
|
+
* @default -
|
|
2113
2335
|
*
|
|
2114
2336
|
* @type {(id: number | string, time: number) => unknown}
|
|
2115
2337
|
* @memberof IMemoryPlayConfig
|
|
2116
2338
|
*/
|
|
2117
2339
|
saveTime: (id: number | string, time: number) => unknown;
|
|
2118
2340
|
/**
|
|
2119
|
-
* 获取最后一次播放时间函数
|
|
2120
|
-
*
|
|
2121
|
-
* @type {(id: number | string) => number | Promise<number>}
|
|
2122
|
-
* @memberof IMemoryPlayConfig
|
|
2341
|
+
* @brief 获取最后一次播放时间函数
|
|
2342
|
+
* @default -
|
|
2123
2343
|
*/
|
|
2124
2344
|
getTime: (id: number | string) => number | Promise<number>;
|
|
2125
2345
|
}
|
|
2346
|
+
/**
|
|
2347
|
+
* @brief 插件按钮位置
|
|
2348
|
+
*/
|
|
2349
|
+
export declare const enum POSITIONS {
|
|
2350
|
+
/**
|
|
2351
|
+
* @brief 播放器根节点
|
|
2352
|
+
*/
|
|
2353
|
+
ROOT = "root",
|
|
2354
|
+
/**
|
|
2355
|
+
* @brief 播放器根节点左侧
|
|
2356
|
+
*/
|
|
2357
|
+
ROOT_LEFT = "rootLeft",
|
|
2358
|
+
/**
|
|
2359
|
+
* @brief 播放器根节点右侧
|
|
2360
|
+
*/
|
|
2361
|
+
ROOT_RIGHT = "rootRight",
|
|
2362
|
+
/**
|
|
2363
|
+
* @brief 播放器根节点顶部
|
|
2364
|
+
*/
|
|
2365
|
+
ROOT_TOP = "rootTop",
|
|
2366
|
+
/**
|
|
2367
|
+
* @brief 播控栏左侧
|
|
2368
|
+
*/
|
|
2369
|
+
CONTROLS_LEFT = "controlsLeft",
|
|
2370
|
+
/**
|
|
2371
|
+
* @brief 播控栏左侧
|
|
2372
|
+
*/
|
|
2373
|
+
CONTROLS_RIGTH = "controlsRight",
|
|
2374
|
+
/**
|
|
2375
|
+
* @brief 播控栏右侧
|
|
2376
|
+
*/
|
|
2377
|
+
CONTROLS_RIGHT = "controlsRight",
|
|
2378
|
+
/**
|
|
2379
|
+
* @brief 播控栏中间
|
|
2380
|
+
*/
|
|
2381
|
+
CONTROLS_CENTER = "controlsCenter",
|
|
2382
|
+
/** @hidden
|
|
2383
|
+
* @brief 播控栏左侧
|
|
2384
|
+
*/
|
|
2385
|
+
CONTROLS = "controls"
|
|
2386
|
+
}
|
|
2387
|
+
export interface IIconPluginConfig {
|
|
2388
|
+
position?: POSITIONS;
|
|
2389
|
+
index?: number;
|
|
2390
|
+
}
|
|
2391
|
+
/**
|
|
2392
|
+
* @brief 画中画配置项
|
|
2393
|
+
* @list Options
|
|
2394
|
+
* @kind property
|
|
2395
|
+
*/
|
|
2396
|
+
export interface IPIPConfig extends IIconPluginConfig {
|
|
2397
|
+
/** {zh}
|
|
2398
|
+
* @brief 是否显示画中画按钮
|
|
2399
|
+
* - `true`:是,显示
|
|
2400
|
+
* - `false`:否,不显示
|
|
2401
|
+
* @default `false`
|
|
2402
|
+
*/
|
|
2403
|
+
showIcon?: boolean;
|
|
2404
|
+
/** {zh}
|
|
2405
|
+
* @brief 是否优先采用文档画中画,仅浏览器支持 DocumentPictureInPicture 才生效
|
|
2406
|
+
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/DocumentPictureInPicture DocumentPictureInPicture}
|
|
2407
|
+
* - `true`:是,优先使用文档画中画
|
|
2408
|
+
* - `false`:否
|
|
2409
|
+
* @default `false`
|
|
2410
|
+
*/
|
|
2411
|
+
preferDocument?: boolean;
|
|
2412
|
+
/** {zh}
|
|
2413
|
+
* @brief 文档画中画窗口的宽度
|
|
2414
|
+
* @default -
|
|
2415
|
+
*/
|
|
2416
|
+
width?: number;
|
|
2417
|
+
/** {zh}
|
|
2418
|
+
* @brief 文档画中画窗口的高度
|
|
2419
|
+
* @default -
|
|
2420
|
+
*/
|
|
2421
|
+
height?: number;
|
|
2422
|
+
/** {zh}
|
|
2423
|
+
* @brief 文档画中画窗口的根节点
|
|
2424
|
+
* @default -
|
|
2425
|
+
*/
|
|
2426
|
+
docPiPNode?: HTMLElement;
|
|
2427
|
+
/** {zh}
|
|
2428
|
+
* @brief 文档画中画窗口的css style
|
|
2429
|
+
* @default -
|
|
2430
|
+
*/
|
|
2431
|
+
docPiPStyle?: ((...arg: any) => string) | string;
|
|
2432
|
+
}
|
|
2433
|
+
/**
|
|
2434
|
+
* @brief 全屏配置
|
|
2435
|
+
* @list Options
|
|
2436
|
+
* @kind property
|
|
2437
|
+
*/
|
|
2438
|
+
export interface IFullscreenConfig {
|
|
2439
|
+
/** {zh}
|
|
2440
|
+
* @brief 是否使用页面全屏代替全屏功能。取值如下:
|
|
2441
|
+
- `true`:页面全屏;
|
|
2442
|
+
- `false`:系统全屏。
|
|
2443
|
+
* @default `false`
|
|
2444
|
+
*/
|
|
2445
|
+
useCssFullscreen?: boolean;
|
|
2446
|
+
/** {zh}
|
|
2447
|
+
* @brief 是否使用旋转横屏。取值如下:
|
|
2448
|
+
* - `false`:否。
|
|
2449
|
+
* - `true`:是,即全屏将会在竖屏状态下把 dom 旋转 90 度实现横屏效果。
|
|
2450
|
+
* @default `false`
|
|
2451
|
+
* @notice
|
|
2452
|
+
* - 该配置优先于 `useCssFullscreen` 配置。
|
|
2453
|
+
* - 该配置一般在移动端使用。
|
|
2454
|
+
*/
|
|
2455
|
+
rotateFullscreen?: boolean;
|
|
2456
|
+
/** {zh}
|
|
2457
|
+
* @brief 自定义全屏作用的dom,默认是播放器根节点, 该配置项必须是player.root的父辈节点,使用场景是解决全屏下和player.root同级的dom需要显示的场景
|
|
2458
|
+
* @default `null`
|
|
2459
|
+
*/
|
|
2460
|
+
target?: HTMLElement;
|
|
2461
|
+
/** {zh}
|
|
2462
|
+
* @brief 是否禁用全凭按钮功能,禁用后不渲染全屏按钮
|
|
2463
|
+
* - `true`:禁用;
|
|
2464
|
+
* - `false`:不禁用。
|
|
2465
|
+
* @default `false`
|
|
2466
|
+
*/
|
|
2467
|
+
disable?: boolean;
|
|
2468
|
+
/** {zh}
|
|
2469
|
+
* @brief 全屏的时候是否使用右上角返回按钮
|
|
2470
|
+
* - `true`:显示;
|
|
2471
|
+
* - `false`:不显示。
|
|
2472
|
+
* @default `false`
|
|
2473
|
+
* @notice 该配置一般在移动端开启
|
|
2474
|
+
*/
|
|
2475
|
+
needBackIcon?: boolean;
|
|
2476
|
+
/** {zh}
|
|
2477
|
+
* @brief 全屏切换自定义实现,该函数配置相当于完全替代插件内部的切换逻辑
|
|
2478
|
+
* @default `null`
|
|
2479
|
+
*/
|
|
2480
|
+
switchCallback?: (...arg: any) => any;
|
|
2481
|
+
}
|
|
2482
|
+
/**
|
|
2483
|
+
* @list Options
|
|
2484
|
+
* @kind property
|
|
2485
|
+
*/
|
|
2486
|
+
export interface ICommonStyle {
|
|
2487
|
+
/** {zh}
|
|
2488
|
+
* @brief 进度条底色
|
|
2489
|
+
* @default 无
|
|
2490
|
+
*/
|
|
2491
|
+
progressColor?: string;
|
|
2492
|
+
/** {zh}
|
|
2493
|
+
* @brief 播放完成部分进度条底色
|
|
2494
|
+
* @default 无
|
|
2495
|
+
*/
|
|
2496
|
+
playedColor?: string;
|
|
2497
|
+
/** {zh}
|
|
2498
|
+
* @brief 缓存部分进度条底色
|
|
2499
|
+
* @default 无
|
|
2500
|
+
*/
|
|
2501
|
+
cachedColor?: string;
|
|
2502
|
+
/** {zh}
|
|
2503
|
+
* @brief 进度条滑块样式
|
|
2504
|
+
* @default 无
|
|
2505
|
+
*/
|
|
2506
|
+
sliderBtnStyle?: CSSStyleDeclaration;
|
|
2507
|
+
/** {zh}
|
|
2508
|
+
* @brief 音量颜色
|
|
2509
|
+
* @default 无
|
|
2510
|
+
*/
|
|
2511
|
+
volumeColor?: string;
|
|
2512
|
+
}
|
|
2513
|
+
/**
|
|
2514
|
+
* @list Options
|
|
2515
|
+
* @brief 封面配置
|
|
2516
|
+
* @kind property
|
|
2517
|
+
*/
|
|
2518
|
+
export interface IPoster {
|
|
2519
|
+
/** {zh}
|
|
2520
|
+
* @brief 封面图地址
|
|
2521
|
+
* @default -
|
|
2522
|
+
*/
|
|
2523
|
+
poster: string;
|
|
2524
|
+
/**
|
|
2525
|
+
* @brief 是否在播放结束之后显示
|
|
2526
|
+
* @default `true`
|
|
2527
|
+
*/
|
|
2528
|
+
isEndedShow?: boolean;
|
|
2529
|
+
/**
|
|
2530
|
+
* @brief 是否播放后隐藏
|
|
2531
|
+
* - `true`:播放后才隐藏,在视频地址更新后会重新显示poster
|
|
2532
|
+
* - `false`:在play事件触发后隐藏poster
|
|
2533
|
+
* @default `false`
|
|
2534
|
+
*/
|
|
2535
|
+
hideCanplay?: boolean;
|
|
2536
|
+
/**
|
|
2537
|
+
* @brief 是否一直显示
|
|
2538
|
+
* @default `false`
|
|
2539
|
+
*/
|
|
2540
|
+
notHidden?: boolean;
|
|
2541
|
+
/**
|
|
2542
|
+
* @brief 封面图填充方式
|
|
2543
|
+
* - `fixWidth`:宽度方向填充,不会被拉伸压缩
|
|
2544
|
+
* - `fixHeight`:高度方向完全填充,不会被拉伸压缩
|
|
2545
|
+
* - `cover`:方式完全覆盖容器,多余但部分会被裁剪
|
|
2546
|
+
* - `contain`:完全覆盖,与容器不匹配时会被拉伸压缩
|
|
2547
|
+
*/
|
|
2548
|
+
fillMode?: "fixWidth" | "fixHeight" | "cover" | "contain";
|
|
2549
|
+
}
|
|
2550
|
+
/**
|
|
2551
|
+
* @brief api map
|
|
2552
|
+
* @hidden
|
|
2553
|
+
*/
|
|
2126
2554
|
export interface ApiMapConfig {
|
|
2127
2555
|
playDomain: string;
|
|
2128
2556
|
backupPlayDomain?: string;
|
|
@@ -2130,6 +2558,10 @@ export interface ApiMapConfig {
|
|
|
2130
2558
|
declare enum StrategyNames {
|
|
2131
2559
|
H265 = "h265"
|
|
2132
2560
|
}
|
|
2561
|
+
/**
|
|
2562
|
+
* @hidden
|
|
2563
|
+
* @brief 策略配置项
|
|
2564
|
+
*/
|
|
2133
2565
|
export declare type StrategyConfigOptions = {
|
|
2134
2566
|
[StrategyNames.H265]?: boolean | {
|
|
2135
2567
|
Strategy?: any;
|
|
@@ -2256,6 +2688,10 @@ declare class PlayerData {
|
|
|
2256
2688
|
setVodTeaId(): void;
|
|
2257
2689
|
}
|
|
2258
2690
|
declare function isMSESupport(mime?: string): boolean;
|
|
2691
|
+
/**
|
|
2692
|
+
* @hidden
|
|
2693
|
+
* @brief 移动端交互面板配置
|
|
2694
|
+
*/
|
|
2259
2695
|
export interface IConfig {
|
|
2260
2696
|
mode?: number;
|
|
2261
2697
|
isAutoChange?: boolean;
|
|
@@ -2301,6 +2737,10 @@ declare enum UmdKeys {
|
|
|
2301
2737
|
VeStrategy = "vestrategy",
|
|
2302
2738
|
VeStrategyH265 = "vestrategy_h265"
|
|
2303
2739
|
}
|
|
2740
|
+
/**
|
|
2741
|
+
* @hidden
|
|
2742
|
+
* @breif umdmap 配置
|
|
2743
|
+
*/
|
|
2304
2744
|
export declare type UMDMap = Record<UmdKeys, {
|
|
2305
2745
|
name: string;
|
|
2306
2746
|
pluginName?: string;
|
|
@@ -2341,30 +2781,33 @@ declare class umdLoader {
|
|
|
2341
2781
|
*/
|
|
2342
2782
|
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
2343
2783
|
}
|
|
2784
|
+
/**
|
|
2785
|
+
* @hidden
|
|
2786
|
+
*/
|
|
2787
|
+
export declare type PlayerCore = Player & {
|
|
2788
|
+
sdk?: VePlayer;
|
|
2789
|
+
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2790
|
+
playerData?: PlayerData;
|
|
2791
|
+
playerType?: string;
|
|
2792
|
+
playerVersion?: string;
|
|
2793
|
+
panel?: MobilePlayerPanel;
|
|
2794
|
+
emitExpireTimestamp?: number;
|
|
2795
|
+
vodLogger?: VodLogger;
|
|
2796
|
+
};
|
|
2344
2797
|
declare class VePlayer {
|
|
2345
2798
|
/**
|
|
2346
|
-
* 播放相关配置数据
|
|
2799
|
+
* @brief 播放相关配置数据
|
|
2347
2800
|
* @hidden
|
|
2348
|
-
*
|
|
2349
2801
|
* @type {PlayerData}
|
|
2350
2802
|
* @memberof VePlayer
|
|
2351
2803
|
*/
|
|
2352
2804
|
playerData: PlayerData;
|
|
2353
2805
|
/**
|
|
2354
|
-
*
|
|
2806
|
+
* @brief 播放器内核实例, 详情参考{@link https://www.volcengine.com/docs/4/109909#%E6%92%AD%E6%94%BE%E5%99%A8%E5%86%85%E6%A0%B8 播放内核}
|
|
2355
2807
|
* @type {*}
|
|
2356
2808
|
* @memberof VePlayer
|
|
2357
2809
|
*/
|
|
2358
|
-
player:
|
|
2359
|
-
sdk?: VePlayer;
|
|
2360
|
-
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2361
|
-
playerData?: PlayerData;
|
|
2362
|
-
playerType?: string;
|
|
2363
|
-
playerVersion?: string;
|
|
2364
|
-
panel?: MobilePlayerPanel;
|
|
2365
|
-
emitExpireTimestamp?: number;
|
|
2366
|
-
vodLogger?: VodLogger;
|
|
2367
|
-
};
|
|
2810
|
+
player: PlayerCore;
|
|
2368
2811
|
/**
|
|
2369
2812
|
* @hidden
|
|
2370
2813
|
*
|
|
@@ -2459,18 +2902,39 @@ declare class VePlayer {
|
|
|
2459
2902
|
* @memberof VePlayer
|
|
2460
2903
|
*/
|
|
2461
2904
|
sdkUmdLoader: umdLoader;
|
|
2905
|
+
/**
|
|
2906
|
+
* @hidden
|
|
2907
|
+
*/
|
|
2462
2908
|
static isMSESupported: typeof isMSESupport;
|
|
2909
|
+
/**
|
|
2910
|
+
* @hidden
|
|
2911
|
+
*/
|
|
2463
2912
|
static isRTMSupported: typeof import("@byted/xgplayer-rts").RtsPlugin.isSupported;
|
|
2913
|
+
/**
|
|
2914
|
+
* @hidden
|
|
2915
|
+
*/
|
|
2464
2916
|
static veStrategy: typeof VeStrategy;
|
|
2917
|
+
/**
|
|
2918
|
+
* @brief sdk版本
|
|
2919
|
+
*/
|
|
2465
2920
|
static sdkVersion: string;
|
|
2921
|
+
/**
|
|
2922
|
+
* @hidden
|
|
2923
|
+
* @param codec
|
|
2924
|
+
* @param options
|
|
2925
|
+
*/
|
|
2466
2926
|
static isRTMSupportCodec: (codec: RTMCodec, options: {
|
|
2467
2927
|
targetProfileLevel?: string;
|
|
2468
2928
|
}) => Promise<boolean>;
|
|
2469
2929
|
private vodLogCommon;
|
|
2930
|
+
/**
|
|
2931
|
+
* @brief 构造函数
|
|
2932
|
+
* @param configs sdk配置
|
|
2933
|
+
*/
|
|
2470
2934
|
constructor(configs: IPlayerConfig);
|
|
2471
2935
|
/**
|
|
2472
2936
|
*
|
|
2473
|
-
*
|
|
2937
|
+
* @hidden
|
|
2474
2938
|
* @private
|
|
2475
2939
|
* @param {IPlayerConfig} configs 播放器配置
|
|
2476
2940
|
* @memberof VePlayer
|
|
@@ -2494,6 +2958,10 @@ declare class VePlayer {
|
|
|
2494
2958
|
* @memberof VePlayer
|
|
2495
2959
|
*/
|
|
2496
2960
|
private initUmdLoader;
|
|
2961
|
+
/**
|
|
2962
|
+
* @hidden
|
|
2963
|
+
* @private
|
|
2964
|
+
*/
|
|
2497
2965
|
private checkVodLogOptions;
|
|
2498
2966
|
/**
|
|
2499
2967
|
* @hidden
|
|
@@ -2509,28 +2977,28 @@ declare class VePlayer {
|
|
|
2509
2977
|
onRepeat(): void;
|
|
2510
2978
|
/**
|
|
2511
2979
|
* @hidden
|
|
2512
|
-
* @
|
|
2980
|
+
* @brief 触发过期事件
|
|
2513
2981
|
* @memberof VePlayer
|
|
2514
2982
|
*/
|
|
2515
2983
|
emitExpireEvent(): void;
|
|
2516
2984
|
/**
|
|
2517
2985
|
* @hidden
|
|
2518
|
-
* @
|
|
2986
|
+
* @brief 地址获取时间
|
|
2519
2987
|
* @memberof VePlayer
|
|
2520
2988
|
*/
|
|
2521
2989
|
getUrlTimestamp(url: string): void;
|
|
2522
2990
|
/**
|
|
2523
|
-
* @
|
|
2991
|
+
* @brief 监听sdk事件
|
|
2524
2992
|
*
|
|
2525
|
-
* @param
|
|
2993
|
+
* @param action 监听的事件名
|
|
2526
2994
|
* @param {(...args: any[]) => void} func
|
|
2527
2995
|
* @memberof VePlayer
|
|
2528
2996
|
*/
|
|
2529
2997
|
on(action: string, func: (...args: any[]) => void): void;
|
|
2530
2998
|
/**
|
|
2531
|
-
* @
|
|
2999
|
+
* @brief 触发sdk事件
|
|
2532
3000
|
*
|
|
2533
|
-
* @param {string} action
|
|
3001
|
+
* @param {string} action 监听的事件名
|
|
2534
3002
|
* @param {*} [payload]
|
|
2535
3003
|
* @memberof VePlayer
|
|
2536
3004
|
*/
|
|
@@ -2570,16 +3038,7 @@ declare class VePlayer {
|
|
|
2570
3038
|
* @return {*}
|
|
2571
3039
|
* @memberof VePlayer
|
|
2572
3040
|
*/
|
|
2573
|
-
createPlayer(): Promise<
|
|
2574
|
-
sdk?: VePlayer;
|
|
2575
|
-
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2576
|
-
playerData?: PlayerData;
|
|
2577
|
-
playerType?: string;
|
|
2578
|
-
playerVersion?: string;
|
|
2579
|
-
panel?: MobilePlayerPanel;
|
|
2580
|
-
emitExpireTimestamp?: number;
|
|
2581
|
-
vodLogger?: VodLogger;
|
|
2582
|
-
}>;
|
|
3041
|
+
createPlayer(): Promise<PlayerCore>;
|
|
2583
3042
|
/**
|
|
2584
3043
|
* @hidden
|
|
2585
3044
|
*
|
|
@@ -2604,8 +3063,8 @@ declare class VePlayer {
|
|
|
2604
3063
|
*/
|
|
2605
3064
|
setDefaultConfigOptions(options: any): void;
|
|
2606
3065
|
/**
|
|
2607
|
-
* 获取当前播放视频数据
|
|
2608
|
-
*
|
|
3066
|
+
* @brief 获取当前播放视频数据
|
|
3067
|
+
* @hidden
|
|
2609
3068
|
* @return {any}
|
|
2610
3069
|
* @memberof VePlayer
|
|
2611
3070
|
*/
|
|
@@ -2633,6 +3092,10 @@ declare class VePlayer {
|
|
|
2633
3092
|
*/
|
|
2634
3093
|
beforePlayerCreate(): Promise<void>;
|
|
2635
3094
|
private prepareStrategies;
|
|
3095
|
+
/**
|
|
3096
|
+
* @hidden
|
|
3097
|
+
* @brief 更新播放策略
|
|
3098
|
+
*/
|
|
2636
3099
|
updateConfigByStrategy(): void;
|
|
2637
3100
|
/**
|
|
2638
3101
|
* @hidden
|
|
@@ -2714,14 +3177,14 @@ declare class VePlayer {
|
|
|
2714
3177
|
/**
|
|
2715
3178
|
* @hidden
|
|
2716
3179
|
*
|
|
2717
|
-
* @
|
|
3180
|
+
* @brief 对外提供获取SDK插件实例的方法
|
|
2718
3181
|
* @param { string } name
|
|
2719
3182
|
* @return {*}
|
|
2720
3183
|
* @memberof VePlayer
|
|
2721
3184
|
*/
|
|
2722
3185
|
getSdkPlugin(name: any): any;
|
|
2723
3186
|
/**
|
|
2724
|
-
* @
|
|
3187
|
+
* @brief 更换playAuthToken的方法
|
|
2725
3188
|
* @notes 这里指同一个视频切换视频源,不能用来切换不同类型的视频
|
|
2726
3189
|
* @param { IPlayAuthTokenConfig } config authToken配置
|
|
2727
3190
|
* @param { boolean } isNewVideo 是否是新视频,默认true。若未false即表示同一个视频切换token播放,会在切换前时间点继续播放
|
|
@@ -2729,18 +3192,18 @@ declare class VePlayer {
|
|
|
2729
3192
|
*/
|
|
2730
3193
|
switchAuthToken(config: IPlayAuthTokenConfig, isNewVideo?: boolean): Promise<void>;
|
|
2731
3194
|
/**
|
|
2732
|
-
* @
|
|
2733
|
-
* @param { IPlayAuthTokenConfig } config
|
|
3195
|
+
* @brief 更新playAuthToken的方法,用来更新视频地址
|
|
3196
|
+
* @param { IPlayAuthTokenConfig } config playAuthToken配置
|
|
2734
3197
|
* @memberof VePlayer
|
|
2735
3198
|
*/
|
|
2736
3199
|
updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
|
|
2737
3200
|
/**
|
|
2738
|
-
* @
|
|
3201
|
+
* @brief 返回当前视频的地址
|
|
2739
3202
|
* @memberof VePlayer
|
|
2740
3203
|
*/
|
|
2741
3204
|
get src(): any;
|
|
2742
3205
|
/**
|
|
2743
|
-
* @
|
|
3206
|
+
* @brief 设置当前视频的地址
|
|
2744
3207
|
* @notes 会重新拉取新的视频,从0开始起播
|
|
2745
3208
|
* @memberof VePlayer
|
|
2746
3209
|
*/
|
|
@@ -2766,7 +3229,7 @@ declare class VePlayer {
|
|
|
2766
3229
|
*
|
|
2767
3230
|
* @param {IPlayerConfig} config
|
|
2768
3231
|
* @param { boolean } isNewVideo 是否是新视频,默认true。若为false即表示同一个视频切换地址播放,会在切换前的时间点继续播放
|
|
2769
|
-
* @
|
|
3232
|
+
* @brief 默认切换后是暂停状态,如果设置了自动播放,则会自动播放
|
|
2770
3233
|
* @return{Promise<any>}
|
|
2771
3234
|
* @memberof VePlayer
|
|
2772
3235
|
*/
|
|
@@ -2791,16 +3254,7 @@ declare class VePlayer {
|
|
|
2791
3254
|
* @return {*}
|
|
2792
3255
|
* @memberof VePlayer
|
|
2793
3256
|
*/
|
|
2794
|
-
getPlayerInstance():
|
|
2795
|
-
sdk?: VePlayer;
|
|
2796
|
-
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2797
|
-
playerData?: PlayerData;
|
|
2798
|
-
playerType?: string;
|
|
2799
|
-
playerVersion?: string;
|
|
2800
|
-
panel?: MobilePlayerPanel;
|
|
2801
|
-
emitExpireTimestamp?: number;
|
|
2802
|
-
vodLogger?: VodLogger;
|
|
2803
|
-
};
|
|
3257
|
+
getPlayerInstance(): PlayerCore;
|
|
2804
3258
|
/**
|
|
2805
3259
|
* @hidden
|
|
2806
3260
|
*
|
|
@@ -2816,7 +3270,7 @@ declare class VePlayer {
|
|
|
2816
3270
|
/**
|
|
2817
3271
|
* @hidden
|
|
2818
3272
|
*
|
|
2819
|
-
* @
|
|
3273
|
+
* @brief 获取h265软解播放时的播放列表
|
|
2820
3274
|
* @memberof VePlayer
|
|
2821
3275
|
*/
|
|
2822
3276
|
setH265SoftPlayList(): void;
|
|
@@ -3262,6 +3716,36 @@ export declare class Subtitle extends Plugin {
|
|
|
3262
3716
|
destroy(): void;
|
|
3263
3717
|
render(): string;
|
|
3264
3718
|
}
|
|
3719
|
+
export interface WatermarkConfig {
|
|
3720
|
+
enable: boolean;
|
|
3721
|
+
content: string;
|
|
3722
|
+
displayType: 0 | 1 | 2;
|
|
3723
|
+
fontSize: number | string;
|
|
3724
|
+
fontColor: string;
|
|
3725
|
+
opacity: number;
|
|
3726
|
+
tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
|
|
3727
|
+
fontFamily?: string;
|
|
3728
|
+
top?: number;
|
|
3729
|
+
left?: number;
|
|
3730
|
+
bottom?: number;
|
|
3731
|
+
right?: number;
|
|
3732
|
+
}
|
|
3733
|
+
export declare class DynamicWatermarkPlugin extends Plugin {
|
|
3734
|
+
private wm;
|
|
3735
|
+
static get pluginName(): string;
|
|
3736
|
+
static get defaultConfig(): WatermarkConfig & {
|
|
3737
|
+
position: string;
|
|
3738
|
+
};
|
|
3739
|
+
constructor(props: any);
|
|
3740
|
+
afterCreate(): void;
|
|
3741
|
+
start(): void;
|
|
3742
|
+
pause(): void;
|
|
3743
|
+
resume(): void;
|
|
3744
|
+
resize(): void;
|
|
3745
|
+
_initWatermark(): void;
|
|
3746
|
+
destroy(): void;
|
|
3747
|
+
render(): string | HTMLElement;
|
|
3748
|
+
}
|
|
3265
3749
|
export declare class DefinitionDemotePlugin extends Plugin {
|
|
3266
3750
|
static get pluginName(): string;
|
|
3267
3751
|
waitings: number[];
|
|
@@ -3616,7 +4100,7 @@ export declare const Events: {
|
|
|
3616
4100
|
*/
|
|
3617
4101
|
CANCEL_UNMUTE: string;
|
|
3618
4102
|
/**
|
|
3619
|
-
*
|
|
4103
|
+
* 刷新按钮点击
|
|
3620
4104
|
*/
|
|
3621
4105
|
REFRESH_CLICK: string;
|
|
3622
4106
|
/**
|
|
@@ -3723,6 +4207,154 @@ export declare const Events: {
|
|
|
3723
4207
|
* 播放列表播放项变更
|
|
3724
4208
|
*/
|
|
3725
4209
|
PLAY_LIST_ITEM_CHANGE: string;
|
|
4210
|
+
/** {zh}
|
|
4211
|
+
* 播放器完成实例化
|
|
4212
|
+
*/
|
|
4213
|
+
/** {en}
|
|
4214
|
+
* The player is instantiated.
|
|
4215
|
+
*/
|
|
4216
|
+
READY: string;
|
|
4217
|
+
/** {zh}
|
|
4218
|
+
* 播放器创建video完成,可以开始播放
|
|
4219
|
+
*/
|
|
4220
|
+
/** {en}
|
|
4221
|
+
* The player has created the video and the playback is ready to start.
|
|
4222
|
+
*/
|
|
4223
|
+
COMPLETE: string;
|
|
4224
|
+
/** {zh}
|
|
4225
|
+
* 播放资源发生变化
|
|
4226
|
+
*/
|
|
4227
|
+
/** {en}
|
|
4228
|
+
* The playback address changes.
|
|
4229
|
+
*/
|
|
4230
|
+
URL_CHANGE: string;
|
|
4231
|
+
/** {zh}
|
|
4232
|
+
* 播放器聚焦
|
|
4233
|
+
*/
|
|
4234
|
+
/** {en}
|
|
4235
|
+
* The player has focus.
|
|
4236
|
+
*/
|
|
4237
|
+
PLAYER_FOCUS: string;
|
|
4238
|
+
/** {zh}
|
|
4239
|
+
* 播放器失焦
|
|
4240
|
+
*/
|
|
4241
|
+
/** {en}
|
|
4242
|
+
* The player loses focus.
|
|
4243
|
+
*/
|
|
4244
|
+
PLAYER_BLUR: string;
|
|
4245
|
+
/** {zh}
|
|
4246
|
+
* 系统全屏状态切换
|
|
4247
|
+
*/
|
|
4248
|
+
/** {en}
|
|
4249
|
+
* The player switches to or from full-window mode, in which the player covers the entire desktop.
|
|
4250
|
+
*/
|
|
4251
|
+
FULLSCREEN_CHANGE: string;
|
|
4252
|
+
/** {zh}
|
|
4253
|
+
* 网页样式全屏状态切换
|
|
4254
|
+
*/
|
|
4255
|
+
/** {en}
|
|
4256
|
+
* The player switches to or from full-screen mode, in which the player covers the browser window.
|
|
4257
|
+
*/
|
|
4258
|
+
CSS_FULLSCREEN_CHANGE: string;
|
|
4259
|
+
/**
|
|
4260
|
+
* @brief 画中画播放模式切换
|
|
4261
|
+
*/
|
|
4262
|
+
MINI_STATE_CHANGE: string;
|
|
4263
|
+
/** {zh}
|
|
4264
|
+
* 播放器销毁
|
|
4265
|
+
*/
|
|
4266
|
+
/** {en}
|
|
4267
|
+
* The player is destroyed.
|
|
4268
|
+
*/
|
|
4269
|
+
DESTROY: string;
|
|
4270
|
+
/** {zh}
|
|
4271
|
+
* 播放器重新播放
|
|
4272
|
+
*/
|
|
4273
|
+
/** {en}
|
|
4274
|
+
* Replay starts.
|
|
4275
|
+
*/
|
|
4276
|
+
REPLAY: string;
|
|
4277
|
+
/**
|
|
4278
|
+
* @brief 重试
|
|
4279
|
+
*/
|
|
4280
|
+
RETRY: string;
|
|
4281
|
+
/** {zh}
|
|
4282
|
+
* 清晰度发生变化
|
|
4283
|
+
*/
|
|
4284
|
+
/** {en}
|
|
4285
|
+
* The video resolution changes.
|
|
4286
|
+
*/
|
|
4287
|
+
DEFINITION_CHANGE: string;
|
|
4288
|
+
/** {zh}
|
|
4289
|
+
* @hidden
|
|
4290
|
+
*/
|
|
4291
|
+
/** {en}
|
|
4292
|
+
* @hidden
|
|
4293
|
+
*/
|
|
4294
|
+
Before_DEFINITION_CHANGE: string;
|
|
4295
|
+
/** {zh}
|
|
4296
|
+
* @hidden
|
|
4297
|
+
*/
|
|
4298
|
+
/** {en}
|
|
4299
|
+
* @hidden
|
|
4300
|
+
*/
|
|
4301
|
+
AFTER_DEFINITION_CHANGE: string;
|
|
4302
|
+
/** {zh}
|
|
4303
|
+
* 播放器容器尺寸发生变化
|
|
4304
|
+
*/
|
|
4305
|
+
/** {en}
|
|
4306
|
+
* The size of the player container changes.
|
|
4307
|
+
*/
|
|
4308
|
+
VIDEO_RESIZE: string;
|
|
4309
|
+
/** {zh}
|
|
4310
|
+
* 画中画状态切换
|
|
4311
|
+
*/
|
|
4312
|
+
/** {en}
|
|
4313
|
+
* The player switches to or from Picture-in-Picture (PIP) mode.
|
|
4314
|
+
*/
|
|
4315
|
+
PIP_CHANGE: string;
|
|
4316
|
+
/** {zh}
|
|
4317
|
+
* 播放器被旋转
|
|
4318
|
+
*/
|
|
4319
|
+
/** {en}
|
|
4320
|
+
* The player is rotated.
|
|
4321
|
+
*/
|
|
4322
|
+
ROTATE: string;
|
|
4323
|
+
/** {zh}
|
|
4324
|
+
* 播放器内置快捷键事件触发
|
|
4325
|
+
*/
|
|
4326
|
+
/** {en}
|
|
4327
|
+
* A built-in shortcut event occurs within the player.
|
|
4328
|
+
*/
|
|
4329
|
+
SHORTCUT: string;
|
|
4330
|
+
/** {zh}
|
|
4331
|
+
* SEI 信息解析
|
|
4332
|
+
*/
|
|
4333
|
+
/** {en}
|
|
4334
|
+
* The player parses the SEI information.
|
|
4335
|
+
*/
|
|
4336
|
+
SEI_PARSED: string;
|
|
4337
|
+
/** {zh}
|
|
4338
|
+
* 内置插件用户行为触发,所有内置插件用户行为交互都会下发该事件,可用于用户行为埋点
|
|
4339
|
+
*/
|
|
4340
|
+
/** {en}
|
|
4341
|
+
* A user event occurs within a built-in plug-in. This event applies to all built-in plug-ins and can be used for tracking user behaviors.
|
|
4342
|
+
*/
|
|
4343
|
+
USER_ACTION: string;
|
|
4344
|
+
/** {zh}
|
|
4345
|
+
* 自动播放成功
|
|
4346
|
+
*/
|
|
4347
|
+
/** {en}
|
|
4348
|
+
* Autoplay starts successfully.
|
|
4349
|
+
*/
|
|
4350
|
+
AUTOPLAY_STARTED: string;
|
|
4351
|
+
/** {zh}
|
|
4352
|
+
* 自动播放失败
|
|
4353
|
+
*/
|
|
4354
|
+
/** {en}
|
|
4355
|
+
* Autoplay fails to start.
|
|
4356
|
+
*/
|
|
4357
|
+
AUTOPLAY_PREVENTED: string;
|
|
3726
4358
|
/**
|
|
3727
4359
|
* 播放器完成创建
|
|
3728
4360
|
*/
|
|
@@ -3747,66 +4379,267 @@ export declare const Events: {
|
|
|
3747
4379
|
* umd 加载失败
|
|
3748
4380
|
*/
|
|
3749
4381
|
UMD_LOAD_FAIL: string;
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
|
|
3766
|
-
|
|
3767
|
-
|
|
3768
|
-
|
|
3769
|
-
|
|
3770
|
-
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
3789
|
-
|
|
3790
|
-
|
|
3791
|
-
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
4382
|
+
/**
|
|
4383
|
+
* @brief 在播放被终止时触发。例如:当播放中的视频重新开始播放。
|
|
4384
|
+
*/
|
|
4385
|
+
ABORT: string;
|
|
4386
|
+
/** {zh}
|
|
4387
|
+
* @brief在媒体数据已经有足够的数据(至少播放数帧)可供播放时触发。
|
|
4388
|
+
**/
|
|
4389
|
+
CANPLAY: string;
|
|
4390
|
+
/** {zh}
|
|
4391
|
+
* @brief表明媒体可以在保持当前的下载速度的情况下不被中断地播放完毕。
|
|
4392
|
+
* @notice 手动设置currentTime会使得firefox触发一次canplaythrough事件,其他浏览器或许不会如此。
|
|
4393
|
+
*/
|
|
4394
|
+
CANPLAY_THROUGH: string;
|
|
4395
|
+
/** {zh}
|
|
4396
|
+
* @brief表明媒体的长度发生了改变。例如:在媒体已被加载足够的长度从而得知总长度时会触发这个事件。
|
|
4397
|
+
*/
|
|
4398
|
+
DURATION_CHANGE: string;
|
|
4399
|
+
/**
|
|
4400
|
+
* @brief 媒体被清空(初始化)时触发
|
|
4401
|
+
*/
|
|
4402
|
+
EMPITED: string;
|
|
4403
|
+
/** {zh}
|
|
4404
|
+
* 视频播放完毕
|
|
4405
|
+
*/
|
|
4406
|
+
/** {en}
|
|
4407
|
+
* Video playback ends.
|
|
4408
|
+
*/
|
|
4409
|
+
ENDED: string;
|
|
4410
|
+
/** {zh}
|
|
4411
|
+
* 发生错误
|
|
4412
|
+
*/
|
|
4413
|
+
ERROR: string;
|
|
4414
|
+
/** {zh}
|
|
4415
|
+
* @brief媒体的第一帧已经加载完毕
|
|
4416
|
+
*/
|
|
4417
|
+
LOADED_DATA: string;
|
|
4418
|
+
/**
|
|
4419
|
+
* 媒体的元数据已经加载完毕,playerSdkIns.player.video 可获取所有的video属性
|
|
4420
|
+
*/
|
|
4421
|
+
LOADED_META_DATA: string;
|
|
4422
|
+
/** {zh}
|
|
4423
|
+
* 媒体内容开始加载
|
|
4424
|
+
*/
|
|
4425
|
+
LOAD_START: string;
|
|
4426
|
+
/** {zh}
|
|
4427
|
+
* 视频暂停播放
|
|
4428
|
+
*/
|
|
4429
|
+
/** {en}
|
|
4430
|
+
* Video playback pauses.
|
|
4431
|
+
*/
|
|
4432
|
+
PAUSE: string;
|
|
4433
|
+
/** {zh}
|
|
4434
|
+
* @brief 视频开始播放
|
|
4435
|
+
*/
|
|
4436
|
+
/** {en}
|
|
4437
|
+
* @brief Video playback starts.
|
|
4438
|
+
*/
|
|
4439
|
+
PLAY: string;
|
|
4440
|
+
/** {zh}
|
|
4441
|
+
* 恢复播放(包括暂停后恢复播放或卡顿后恢复播放)
|
|
4442
|
+
*/
|
|
4443
|
+
/** {en}
|
|
4444
|
+
* Video playback resumes after a pause or freeze.
|
|
4445
|
+
*/
|
|
4446
|
+
PLAYING: string;
|
|
4447
|
+
/**
|
|
4448
|
+
* 媒体下载进度,即已缓存播放数据进度
|
|
4449
|
+
*/
|
|
4450
|
+
PROGRESS: string;
|
|
4451
|
+
/**
|
|
4452
|
+
* 播放速率变化
|
|
4453
|
+
*/
|
|
4454
|
+
RATE_CHANGE: string;
|
|
4455
|
+
/**
|
|
4456
|
+
* 在跳跃(seek)操作完成时触发
|
|
4457
|
+
*/
|
|
4458
|
+
SEEKED: string;
|
|
4459
|
+
/**
|
|
4460
|
+
* 在跳跃(seek)操作开始时触发
|
|
4461
|
+
*/
|
|
4462
|
+
SEEKING: string;
|
|
4463
|
+
/**
|
|
4464
|
+
* 在尝试获取媒体数据,但数据不可用时触发。
|
|
4465
|
+
*/
|
|
4466
|
+
STALLED: string;
|
|
4467
|
+
/**
|
|
4468
|
+
* 在媒体资源加载终止时触发,这可能是因为下载已完成或因为其他原因暂停。
|
|
4469
|
+
*/
|
|
4470
|
+
SUSPEND: string;
|
|
4471
|
+
/** {zh}
|
|
4472
|
+
* 视频播放时间更新
|
|
4473
|
+
*/
|
|
4474
|
+
/** {en}
|
|
4475
|
+
* The video playback time is updated.
|
|
4476
|
+
*/
|
|
4477
|
+
TIME_UPDATE: string;
|
|
4478
|
+
/** {zh}
|
|
4479
|
+
* 视频音量发生变化
|
|
4480
|
+
*/
|
|
4481
|
+
/** {en}
|
|
4482
|
+
* The video volume changes.
|
|
4483
|
+
*/
|
|
4484
|
+
VOLUME_CHANGE: string;
|
|
4485
|
+
/** {zh}
|
|
4486
|
+
* 等待加载数据
|
|
4487
|
+
*/
|
|
4488
|
+
/** {en}
|
|
4489
|
+
* The player is loading data.
|
|
4490
|
+
*/
|
|
4491
|
+
WAITING: string;
|
|
3807
4492
|
};
|
|
3808
4493
|
export declare const Event: {
|
|
3809
4494
|
SDKEvents: {
|
|
4495
|
+
/** {zh}
|
|
4496
|
+
* 播放器完成实例化
|
|
4497
|
+
*/
|
|
4498
|
+
/** {en}
|
|
4499
|
+
* The player is instantiated.
|
|
4500
|
+
*/
|
|
4501
|
+
READY: string;
|
|
4502
|
+
/** {zh}
|
|
4503
|
+
* 播放器创建video完成,可以开始播放
|
|
4504
|
+
*/
|
|
4505
|
+
/** {en}
|
|
4506
|
+
* The player has created the video and the playback is ready to start.
|
|
4507
|
+
*/
|
|
4508
|
+
COMPLETE: string;
|
|
4509
|
+
/** {zh}
|
|
4510
|
+
* 播放资源发生变化
|
|
4511
|
+
*/
|
|
4512
|
+
/** {en}
|
|
4513
|
+
* The playback address changes.
|
|
4514
|
+
*/
|
|
4515
|
+
URL_CHANGE: string;
|
|
4516
|
+
/** {zh}
|
|
4517
|
+
* 播放器聚焦
|
|
4518
|
+
*/
|
|
4519
|
+
/** {en}
|
|
4520
|
+
* The player has focus.
|
|
4521
|
+
*/
|
|
4522
|
+
PLAYER_FOCUS: string;
|
|
4523
|
+
/** {zh}
|
|
4524
|
+
* 播放器失焦
|
|
4525
|
+
*/
|
|
4526
|
+
/** {en}
|
|
4527
|
+
* The player loses focus.
|
|
4528
|
+
*/
|
|
4529
|
+
PLAYER_BLUR: string;
|
|
4530
|
+
/** {zh}
|
|
4531
|
+
* 系统全屏状态切换
|
|
4532
|
+
*/
|
|
4533
|
+
/** {en}
|
|
4534
|
+
* The player switches to or from full-window mode, in which the player covers the entire desktop.
|
|
4535
|
+
*/
|
|
4536
|
+
FULLSCREEN_CHANGE: string;
|
|
4537
|
+
/** {zh}
|
|
4538
|
+
* 网页样式全屏状态切换
|
|
4539
|
+
*/
|
|
4540
|
+
/** {en}
|
|
4541
|
+
* The player switches to or from full-screen mode, in which the player covers the browser window.
|
|
4542
|
+
*/
|
|
4543
|
+
CSS_FULLSCREEN_CHANGE: string;
|
|
4544
|
+
/**
|
|
4545
|
+
* @brief 画中画播放模式切换
|
|
4546
|
+
*/
|
|
4547
|
+
MINI_STATE_CHANGE: string;
|
|
4548
|
+
/** {zh}
|
|
4549
|
+
* 播放器销毁
|
|
4550
|
+
*/
|
|
4551
|
+
/** {en}
|
|
4552
|
+
* The player is destroyed.
|
|
4553
|
+
*/
|
|
4554
|
+
DESTROY: string;
|
|
4555
|
+
/** {zh}
|
|
4556
|
+
* 播放器重新播放
|
|
4557
|
+
*/
|
|
4558
|
+
/** {en}
|
|
4559
|
+
* Replay starts.
|
|
4560
|
+
*/
|
|
4561
|
+
REPLAY: string;
|
|
4562
|
+
/**
|
|
4563
|
+
* @brief 重试
|
|
4564
|
+
*/
|
|
4565
|
+
RETRY: string;
|
|
4566
|
+
/** {zh}
|
|
4567
|
+
* 清晰度发生变化
|
|
4568
|
+
*/
|
|
4569
|
+
/** {en}
|
|
4570
|
+
* The video resolution changes.
|
|
4571
|
+
*/
|
|
4572
|
+
DEFINITION_CHANGE: string;
|
|
4573
|
+
/** {zh}
|
|
4574
|
+
* @hidden
|
|
4575
|
+
*/
|
|
4576
|
+
/** {en}
|
|
4577
|
+
* @hidden
|
|
4578
|
+
*/
|
|
4579
|
+
Before_DEFINITION_CHANGE: string;
|
|
4580
|
+
/** {zh}
|
|
4581
|
+
* @hidden
|
|
4582
|
+
*/
|
|
4583
|
+
/** {en}
|
|
4584
|
+
* @hidden
|
|
4585
|
+
*/
|
|
4586
|
+
AFTER_DEFINITION_CHANGE: string;
|
|
4587
|
+
/** {zh}
|
|
4588
|
+
* 播放器容器尺寸发生变化
|
|
4589
|
+
*/
|
|
4590
|
+
/** {en}
|
|
4591
|
+
* The size of the player container changes.
|
|
4592
|
+
*/
|
|
4593
|
+
VIDEO_RESIZE: string;
|
|
4594
|
+
/** {zh}
|
|
4595
|
+
* 画中画状态切换
|
|
4596
|
+
*/
|
|
4597
|
+
/** {en}
|
|
4598
|
+
* The player switches to or from Picture-in-Picture (PIP) mode.
|
|
4599
|
+
*/
|
|
4600
|
+
PIP_CHANGE: string;
|
|
4601
|
+
/** {zh}
|
|
4602
|
+
* 播放器被旋转
|
|
4603
|
+
*/
|
|
4604
|
+
/** {en}
|
|
4605
|
+
* The player is rotated.
|
|
4606
|
+
*/
|
|
4607
|
+
ROTATE: string;
|
|
4608
|
+
/** {zh}
|
|
4609
|
+
* 播放器内置快捷键事件触发
|
|
4610
|
+
*/
|
|
4611
|
+
/** {en}
|
|
4612
|
+
* A built-in shortcut event occurs within the player.
|
|
4613
|
+
*/
|
|
4614
|
+
SHORTCUT: string;
|
|
4615
|
+
/** {zh}
|
|
4616
|
+
* SEI 信息解析
|
|
4617
|
+
*/
|
|
4618
|
+
/** {en}
|
|
4619
|
+
* The player parses the SEI information.
|
|
4620
|
+
*/
|
|
4621
|
+
SEI_PARSED: string;
|
|
4622
|
+
/** {zh}
|
|
4623
|
+
* 内置插件用户行为触发,所有内置插件用户行为交互都会下发该事件,可用于用户行为埋点
|
|
4624
|
+
*/
|
|
4625
|
+
/** {en}
|
|
4626
|
+
* A user event occurs within a built-in plug-in. This event applies to all built-in plug-ins and can be used for tracking user behaviors.
|
|
4627
|
+
*/
|
|
4628
|
+
USER_ACTION: string;
|
|
4629
|
+
/** {zh}
|
|
4630
|
+
* 自动播放成功
|
|
4631
|
+
*/
|
|
4632
|
+
/** {en}
|
|
4633
|
+
* Autoplay starts successfully.
|
|
4634
|
+
*/
|
|
4635
|
+
AUTOPLAY_STARTED: string;
|
|
4636
|
+
/** {zh}
|
|
4637
|
+
* 自动播放失败
|
|
4638
|
+
*/
|
|
4639
|
+
/** {en}
|
|
4640
|
+
* Autoplay fails to start.
|
|
4641
|
+
*/
|
|
4642
|
+
AUTOPLAY_PREVENTED: string;
|
|
3810
4643
|
/**
|
|
3811
4644
|
* 播放器完成创建
|
|
3812
4645
|
*/
|
|
@@ -3854,7 +4687,7 @@ export declare const Event: {
|
|
|
3854
4687
|
*/
|
|
3855
4688
|
CANCEL_UNMUTE: string;
|
|
3856
4689
|
/**
|
|
3857
|
-
*
|
|
4690
|
+
* 刷新按钮点击
|
|
3858
4691
|
*/
|
|
3859
4692
|
REFRESH_CLICK: string;
|
|
3860
4693
|
/**
|