@volcengine/veplayer 1.4.1 → 1.5.9
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/dist/index.d.ts +443 -66
- package/dist/index.min.css +1 -1
- package/dist/index.min.js +2 -2
- package/package.json +8 -8
- package/CHANGELOG.md +0 -24366
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Property } from 'dom-helpers/esm/types';
|
|
2
|
+
import Player from 'xgplayer';
|
|
2
3
|
import { I18N, IPlayerOptions, IXGI18nText, Plugin } from 'xgplayer';
|
|
3
4
|
|
|
4
5
|
declare enum POSITIONS {
|
|
@@ -330,6 +331,27 @@ export interface ISubtitleConfig {
|
|
|
330
331
|
* @memberof ISubtitleConfig
|
|
331
332
|
*/
|
|
332
333
|
isDefaultOpen?: boolean;
|
|
334
|
+
/**
|
|
335
|
+
* 是否显示图标
|
|
336
|
+
* 默认值:true
|
|
337
|
+
* @type {boolean}
|
|
338
|
+
* @memberof ISubtitleConfig
|
|
339
|
+
*/
|
|
340
|
+
isShowIcon?: boolean;
|
|
341
|
+
/**
|
|
342
|
+
* 字幕渲染模式,外挂字幕或原生字幕
|
|
343
|
+
* 默认值:external
|
|
344
|
+
* @type {string}
|
|
345
|
+
* @memberof ISubtitleConfig
|
|
346
|
+
*/
|
|
347
|
+
mode?: "external" | "native";
|
|
348
|
+
/**
|
|
349
|
+
* 字幕更新模式,默认vod
|
|
350
|
+
* 默认值:vod
|
|
351
|
+
* @type {string}
|
|
352
|
+
* @memberof ISubtitleConfig
|
|
353
|
+
*/
|
|
354
|
+
updateMode?: "vod" | "live";
|
|
333
355
|
/**
|
|
334
356
|
* 字幕样式
|
|
335
357
|
* 默认值:无
|
|
@@ -609,6 +631,12 @@ export interface IDefinitionDemotePlugin {
|
|
|
609
631
|
*/
|
|
610
632
|
demotePriority?: string[];
|
|
611
633
|
}
|
|
634
|
+
/**
|
|
635
|
+
* @detail Options
|
|
636
|
+
* @brief 更多options
|
|
637
|
+
* @id 2
|
|
638
|
+
*
|
|
639
|
+
|
|
612
640
|
/**
|
|
613
641
|
* dash播放配置想
|
|
614
642
|
*
|
|
@@ -943,10 +971,114 @@ export interface IMp4EncryptPlayerConfig {
|
|
|
943
971
|
};
|
|
944
972
|
};
|
|
945
973
|
}
|
|
974
|
+
declare enum PlatformEnum {
|
|
975
|
+
VOLC_ENGINE = "volcengine",
|
|
976
|
+
BYTE_PLUS = "byteplus"
|
|
977
|
+
}
|
|
978
|
+
export interface apiMapItem {
|
|
979
|
+
playDomain: string;
|
|
980
|
+
backupPlayDomain?: string;
|
|
981
|
+
licenseUrl: string;
|
|
982
|
+
keyDomain: string;
|
|
983
|
+
}
|
|
946
984
|
declare enum CodecType {
|
|
947
985
|
H265 = "h265",
|
|
948
986
|
H264 = "h264"
|
|
949
987
|
}
|
|
988
|
+
export declare type PLAY_MODE_TYPE = "order" | "sloop" | "loop" | "random";
|
|
989
|
+
export interface IMusicListItem {
|
|
990
|
+
/**
|
|
991
|
+
* 音乐地址
|
|
992
|
+
*
|
|
993
|
+
* @type {string}
|
|
994
|
+
* @memberof IMusicListItem
|
|
995
|
+
*/
|
|
996
|
+
src: string;
|
|
997
|
+
/**
|
|
998
|
+
* 音乐唯一vid
|
|
999
|
+
*
|
|
1000
|
+
* @type {string | number}
|
|
1001
|
+
* @memberof IMusicListItem
|
|
1002
|
+
*/
|
|
1003
|
+
vid: string | number;
|
|
1004
|
+
/**
|
|
1005
|
+
* 音乐封面
|
|
1006
|
+
*
|
|
1007
|
+
* @type {string}
|
|
1008
|
+
* @memberof IMusicListItem
|
|
1009
|
+
*/
|
|
1010
|
+
poster?: string;
|
|
1011
|
+
/**
|
|
1012
|
+
* 音乐标题
|
|
1013
|
+
*
|
|
1014
|
+
* @type {string}
|
|
1015
|
+
* @memberof IMusicListItem
|
|
1016
|
+
*/
|
|
1017
|
+
title?: string;
|
|
1018
|
+
[propName: string]: any;
|
|
1019
|
+
}
|
|
1020
|
+
export interface IABCycle {
|
|
1021
|
+
/**
|
|
1022
|
+
* AB循环段开始时间
|
|
1023
|
+
*
|
|
1024
|
+
* @type {boolean}
|
|
1025
|
+
* @memberof IABCycle
|
|
1026
|
+
*/
|
|
1027
|
+
start: number;
|
|
1028
|
+
/**
|
|
1029
|
+
* AB循环段结束时间
|
|
1030
|
+
*
|
|
1031
|
+
* @type {boolean}
|
|
1032
|
+
* @memberof IABCycle
|
|
1033
|
+
*/
|
|
1034
|
+
end: number;
|
|
1035
|
+
/**
|
|
1036
|
+
* AB段是否循环播放
|
|
1037
|
+
*
|
|
1038
|
+
* @type {boolean}
|
|
1039
|
+
* @memberof IABCycle
|
|
1040
|
+
*/
|
|
1041
|
+
loop?: boolean;
|
|
1042
|
+
[propName: string]: any;
|
|
1043
|
+
}
|
|
1044
|
+
export interface IMusicConfig {
|
|
1045
|
+
/**
|
|
1046
|
+
* 是否启用离线下载播放
|
|
1047
|
+
*
|
|
1048
|
+
* @type {boolean}
|
|
1049
|
+
* @memberof IMusicConfig
|
|
1050
|
+
*/
|
|
1051
|
+
offline?: boolean;
|
|
1052
|
+
/**
|
|
1053
|
+
* AB循环设置
|
|
1054
|
+
*
|
|
1055
|
+
* @type {IABCycle}
|
|
1056
|
+
* @memberof IMusicConfig
|
|
1057
|
+
*/
|
|
1058
|
+
abCycle?: IABCycle | null;
|
|
1059
|
+
/**
|
|
1060
|
+
* 快进快退时间跨度
|
|
1061
|
+
*
|
|
1062
|
+
* @type {number}
|
|
1063
|
+
* @memberof IMusicConfig
|
|
1064
|
+
*/
|
|
1065
|
+
timeScale?: number;
|
|
1066
|
+
/**
|
|
1067
|
+
* 循环模式
|
|
1068
|
+
*
|
|
1069
|
+
* @type {('order' | 'sloop' | 'loop' | 'random')}
|
|
1070
|
+
* @memberof IMusicConfig
|
|
1071
|
+
*/
|
|
1072
|
+
mode?: PLAY_MODE_TYPE;
|
|
1073
|
+
/**
|
|
1074
|
+
* 播放列表
|
|
1075
|
+
*
|
|
1076
|
+
* @type {Array<IMusicListItem>}
|
|
1077
|
+
* @memberof IMusicConfig
|
|
1078
|
+
*/
|
|
1079
|
+
list?: Array<IMusicListItem>;
|
|
1080
|
+
[propName: string]: any;
|
|
1081
|
+
}
|
|
950
1082
|
/**
|
|
951
1083
|
* @detail Options
|
|
952
1084
|
* @brief 播放地址列表, 可配置多线路和多清晰度
|
|
@@ -1045,19 +1177,12 @@ export interface Current {
|
|
|
1045
1177
|
* 本文档是介绍火山引擎直播和点播播放器VePlayer的相关参数和Api。
|
|
1046
1178
|
*/
|
|
1047
1179
|
export interface IPlayerConfig extends IPlayerOptions {
|
|
1048
|
-
/**
|
|
1049
|
-
* “点播”还是“直播”
|
|
1050
|
-
* @hidden
|
|
1051
|
-
* @type {('live' | 'vod')}
|
|
1052
|
-
* @memberof IPlayerConfig
|
|
1053
|
-
*/
|
|
1054
|
-
type: "live" | "vod";
|
|
1055
1180
|
/**
|
|
1056
1181
|
* 是否是直播,默认为false
|
|
1057
1182
|
* @type {boolean}
|
|
1058
1183
|
* @memberof IPlayerConfig
|
|
1059
1184
|
*/
|
|
1060
|
-
isLive
|
|
1185
|
+
isLive?: boolean;
|
|
1061
1186
|
/**
|
|
1062
1187
|
* 播放器容器id,VePlayer将被插入在该容器中
|
|
1063
1188
|
*
|
|
@@ -1074,14 +1199,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1074
1199
|
*/
|
|
1075
1200
|
root?: HTMLElement;
|
|
1076
1201
|
/**
|
|
1077
|
-
*
|
|
1078
|
-
*
|
|
1079
|
-
* @type {IPlayerOptions}
|
|
1080
|
-
* @memberof IPlayerConfig
|
|
1081
|
-
*/
|
|
1082
|
-
options: IPlayerOptions;
|
|
1083
|
-
/**
|
|
1084
|
-
* 播放地址,
|
|
1202
|
+
* 播放地址
|
|
1085
1203
|
* 直播可通过 {@link https://console.volcengine.com/live/main/locationGenerate 视频直播控制台} 生成
|
|
1086
1204
|
*
|
|
1087
1205
|
* @type {string}
|
|
@@ -1092,24 +1210,45 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1092
1210
|
* 播放地址类型,可以选值为“rtm”/“flv”/“mp4”/“hls”
|
|
1093
1211
|
* @notes 播放地址带后缀的则streamType非必填,否则为必填
|
|
1094
1212
|
*
|
|
1095
|
-
* @type {('
|
|
1213
|
+
* @type {(''mp4' | 'hls' | 'dash' | 'rtm' | 'flv')}
|
|
1214
|
+
* @memberof IPlayerConfig
|
|
1215
|
+
*/
|
|
1216
|
+
streamType?: "mp4" | "hls" | "dash" | "rtm" | "flv";
|
|
1217
|
+
/**
|
|
1218
|
+
* 点播服务平台,可选值为'volcengine' 和 'byteplus',默认为'volcengine'即火山引擎视频点播
|
|
1219
|
+
* 设定此参数会指定默认的服务接口
|
|
1220
|
+
* @type {('volcengine' | 'byteplus')}
|
|
1221
|
+
* @memberof playerConfig
|
|
1222
|
+
*/
|
|
1223
|
+
platform?: PlatformEnum;
|
|
1224
|
+
/**
|
|
1225
|
+
* 是否音乐播放器模式
|
|
1226
|
+
*
|
|
1227
|
+
* @type {boolean}
|
|
1096
1228
|
* @memberof IPlayerConfig
|
|
1097
1229
|
*/
|
|
1098
|
-
|
|
1230
|
+
isMusic?: boolean;
|
|
1099
1231
|
/**
|
|
1100
1232
|
* 右键是否可用
|
|
1101
1233
|
*
|
|
1102
1234
|
* @type {boolean}
|
|
1103
1235
|
* @memberof IPlayerConfig
|
|
1104
1236
|
*/
|
|
1105
|
-
enableContextmenu
|
|
1237
|
+
enableContextmenu?: boolean;
|
|
1106
1238
|
/**
|
|
1107
1239
|
* 关闭video上的阻止事件传播
|
|
1108
1240
|
*
|
|
1109
1241
|
* @type {boolean}
|
|
1110
1242
|
* @memberof IPlayerConfig
|
|
1111
1243
|
*/
|
|
1112
|
-
closeVideoStopPropagation
|
|
1244
|
+
closeVideoStopPropagation?: boolean;
|
|
1245
|
+
/**
|
|
1246
|
+
* 是否开启hls的MSE模式,仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
1247
|
+
*
|
|
1248
|
+
* @type {boolean}
|
|
1249
|
+
* @memberof IPlayerConfig
|
|
1250
|
+
*/
|
|
1251
|
+
enableHlsMSE?: boolean;
|
|
1113
1252
|
/**
|
|
1114
1253
|
* 是否开启mp4的MSE模式,开启后采用MSE方式播放MP4,
|
|
1115
1254
|
* 同时带来精确的seek加载、视频的无缝切换、流量节省等功能
|
|
@@ -1117,7 +1256,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1117
1256
|
* @type {boolean}
|
|
1118
1257
|
* @memberof IPlayerConfig
|
|
1119
1258
|
*/
|
|
1120
|
-
enableMp4MSE
|
|
1259
|
+
enableMp4MSE?: boolean;
|
|
1121
1260
|
/**
|
|
1122
1261
|
* 播放列表
|
|
1123
1262
|
* @notes url和playList必填一个,二者都传入时, url必须在playList中。
|
|
@@ -1144,7 +1283,6 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1144
1283
|
defaultConfig?: IDefaultConfig;
|
|
1145
1284
|
/**
|
|
1146
1285
|
* 设置多语言词典,可设置每个语言的多语言词典,
|
|
1147
|
-
* TODO: 这里需要补充当前默认的有哪些,还有如何替换和新增多语言
|
|
1148
1286
|
* 例如:
|
|
1149
1287
|
* {
|
|
1150
1288
|
* zh: {
|
|
@@ -1155,11 +1293,11 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1155
1293
|
* }
|
|
1156
1294
|
* }
|
|
1157
1295
|
*
|
|
1158
|
-
* @type {{ [key: string]:
|
|
1296
|
+
* @type {{ [key: string]: Record<string, any> }}
|
|
1159
1297
|
* @memberof IPlayerConfig
|
|
1160
1298
|
*/
|
|
1161
1299
|
languages?: {
|
|
1162
|
-
[key: string]:
|
|
1300
|
+
[key: string]: Record<string, any>;
|
|
1163
1301
|
};
|
|
1164
1302
|
/**
|
|
1165
1303
|
* @hidden
|
|
@@ -1176,7 +1314,6 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1176
1314
|
umdUrlMap?: Record<string, string>;
|
|
1177
1315
|
/**
|
|
1178
1316
|
* 是否启用软解
|
|
1179
|
-
* @notes 关于软解的一些性能说明参考 https://v3.h5player.bytedance.net/en/plugins/extension/xgplayer-livevideo.html#%E8%BD%AF%E8%A7%A3%E6%A8%A1%E5%9D%97-%E7%94%A8%E4%BA%8E%E6%92%AD%E6%94%BE265%E6%B5%81-hls%E3%80%81flv-%E6%88%96h5%E4%B8%8B%E9%98%B2%E5%8A%AB%E6%8C%81%E6%92%AD%E6%94%BEhls%E3%80%81flv%E6%B5%81-%E5%8F%AF%E4%BB%A5%E4%B8%8Exgplayer-hls%E3%80%81xgplayer-flv%E9%85%8D%E5%90%88%E4%BD%BF%E7%94%A8
|
|
1180
1317
|
* 默认: false
|
|
1181
1318
|
*
|
|
1182
1319
|
* @type {boolean}
|
|
@@ -1244,10 +1381,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1244
1381
|
/**
|
|
1245
1382
|
* 弹幕及面板配置,可配置弹幕的一些参数,如弹幕文字大小、透明度、展示区域等,
|
|
1246
1383
|
*
|
|
1247
|
-
* @type {InitConfig}
|
|
1384
|
+
* @type {InitConfig | boolean}
|
|
1248
1385
|
* @memberof IPlayerConfig
|
|
1249
1386
|
*/
|
|
1250
|
-
DanmuPlugin?: InitConfig;
|
|
1387
|
+
DanmuPlugin?: InitConfig | boolean;
|
|
1251
1388
|
/**
|
|
1252
1389
|
* 清晰度自动降级配置
|
|
1253
1390
|
* @notes 需要先引入DefinitionDemotePlugin插件,plugins: [window.VePlayer.DefinitionDemotePlugin]
|
|
@@ -1256,9 +1393,16 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1256
1393
|
* @memberof IPlayerConfig
|
|
1257
1394
|
*/
|
|
1258
1395
|
DefinitionDemotePlugin?: IDefinitionDemotePlugin;
|
|
1396
|
+
/**
|
|
1397
|
+
* 唯一id,用于私有DRM加密
|
|
1398
|
+
*
|
|
1399
|
+
* @type {string}
|
|
1400
|
+
* @memberof IPlayerConfig
|
|
1401
|
+
*/
|
|
1402
|
+
unionId?: string;
|
|
1259
1403
|
/**
|
|
1260
1404
|
* vid播放配置项
|
|
1261
|
-
* @notes
|
|
1405
|
+
* @notes 需要业务方服务端通过vid生成临时playAuthToken
|
|
1262
1406
|
*
|
|
1263
1407
|
* @type {IPlayAuthTokenConfig}
|
|
1264
1408
|
* @memberof IPlayerConfig
|
|
@@ -1266,28 +1410,28 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1266
1410
|
getVideoByToken?: IPlayAuthTokenConfig;
|
|
1267
1411
|
/**
|
|
1268
1412
|
* dash 播放配置项
|
|
1269
|
-
* @type {IDashPluginConfig}
|
|
1413
|
+
* @type {Partial<IDashPluginConfig>}
|
|
1270
1414
|
* @memberof IPlayerConfig
|
|
1271
1415
|
*/
|
|
1272
|
-
DASHPlugin?: IDashPluginConfig
|
|
1416
|
+
DASHPlugin?: Partial<IDashPluginConfig>;
|
|
1273
1417
|
/**
|
|
1274
1418
|
* hls 加密播放配置项
|
|
1275
|
-
* @type {IEncryptHlsPluginConfig}
|
|
1419
|
+
* @type {Partial<IEncryptHlsPluginConfig> | boolean}
|
|
1276
1420
|
* @memberof IPlayerConfig
|
|
1277
1421
|
*/
|
|
1278
|
-
EncryptHlsPlugin?: IEncryptHlsPluginConfig;
|
|
1422
|
+
EncryptHlsPlugin?: Partial<IEncryptHlsPluginConfig> | boolean;
|
|
1279
1423
|
/**
|
|
1280
1424
|
* 质量日志配置项
|
|
1281
|
-
* @type {IVodLogOptsConfig}
|
|
1425
|
+
* @type {Partial<IVodLogOptsConfig>}
|
|
1282
1426
|
* @memberof IPlayerConfig
|
|
1283
1427
|
*/
|
|
1284
|
-
vodLogOpts?: IVodLogOptsConfig
|
|
1428
|
+
vodLogOpts?: Partial<IVodLogOptsConfig>;
|
|
1285
1429
|
/**
|
|
1286
1430
|
* mp4加密播放配置项
|
|
1287
|
-
* @type {IMp4EncryptPlayerConfig}
|
|
1431
|
+
* @type {Partial<IMp4EncryptPlayerConfig> | boolean}
|
|
1288
1432
|
* @memberof IPlayerConfig
|
|
1289
1433
|
*/
|
|
1290
|
-
Mp4EncryptPlayer?: IMp4EncryptPlayerConfig;
|
|
1434
|
+
Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
|
|
1291
1435
|
/**
|
|
1292
1436
|
* 自适应码率配置项
|
|
1293
1437
|
* @type {IAutoBitrateOptsConfig}
|
|
@@ -1305,7 +1449,13 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1305
1449
|
* @type {IMemoryPlayConfig}
|
|
1306
1450
|
* @memberof IPlayerConfig
|
|
1307
1451
|
*/
|
|
1308
|
-
MemoryPlay?: IMemoryPlayConfig;
|
|
1452
|
+
MemoryPlay?: IMemoryPlayConfig | boolean;
|
|
1453
|
+
/**
|
|
1454
|
+
* 音乐播放器配置项
|
|
1455
|
+
* @type {IMusicConfig}
|
|
1456
|
+
* @memberof IPlayerConfig
|
|
1457
|
+
*/
|
|
1458
|
+
music?: IMusicConfig;
|
|
1309
1459
|
}
|
|
1310
1460
|
/**
|
|
1311
1461
|
* 初始配置
|
|
@@ -1396,23 +1546,29 @@ export interface IPlayAuthTokenConfig {
|
|
|
1396
1546
|
*/
|
|
1397
1547
|
playDomain?: string;
|
|
1398
1548
|
/**
|
|
1399
|
-
*
|
|
1549
|
+
* 是否启用控制台设置的封面图,默认false
|
|
1400
1550
|
* @type {boolean}
|
|
1401
1551
|
* @memberof IPlayAuthTokenConfig
|
|
1402
1552
|
*/
|
|
1403
1553
|
needPoster?: boolean;
|
|
1404
1554
|
/**
|
|
1405
|
-
*
|
|
1555
|
+
* 是否启用控制台设置的雪碧图,默认false
|
|
1406
1556
|
* @type {boolean}
|
|
1407
1557
|
* @memberof IPlayAuthTokenConfig
|
|
1408
1558
|
*/
|
|
1409
1559
|
needThumbs?: boolean;
|
|
1410
1560
|
/**
|
|
1411
|
-
*
|
|
1561
|
+
* 是否启用控制台设置的蒙版弹幕,默认false
|
|
1412
1562
|
* @type {boolean}
|
|
1413
1563
|
* @memberof IPlayAuthTokenConfig
|
|
1414
1564
|
*/
|
|
1415
1565
|
needBarrageMask?: boolean;
|
|
1566
|
+
/**
|
|
1567
|
+
* 是否需要多清晰度,默认为true
|
|
1568
|
+
* @type {boolean}
|
|
1569
|
+
* @memberof IPlayAuthTokenConfig
|
|
1570
|
+
*/
|
|
1571
|
+
needDefinitionList?: boolean;
|
|
1416
1572
|
/**
|
|
1417
1573
|
* hls标准加密播放所用的keyToken
|
|
1418
1574
|
* @type {boolean}
|
|
@@ -1421,18 +1577,31 @@ export interface IPlayAuthTokenConfig {
|
|
|
1421
1577
|
keyToken?: string;
|
|
1422
1578
|
/**
|
|
1423
1579
|
* 密钥请求域名
|
|
1424
|
-
* @hidden
|
|
1425
1580
|
* @type {string}
|
|
1426
1581
|
* @memberof IPlayAuthTokenConfig
|
|
1427
1582
|
*/
|
|
1428
1583
|
keyDomain?: string;
|
|
1429
1584
|
/**
|
|
1430
1585
|
* 获取key方式,默认'TOP'
|
|
1431
|
-
* @hidden
|
|
1432
1586
|
* @type {string}
|
|
1433
1587
|
* @memberof IPlayAuthTokenConfig
|
|
1434
1588
|
*/
|
|
1435
1589
|
getKeyType?: string;
|
|
1590
|
+
/**
|
|
1591
|
+
* 获取privateDrmAuthToken的回调,
|
|
1592
|
+
* @type {(
|
|
1593
|
+
* playAuthIds: string,
|
|
1594
|
+
* vid: string,
|
|
1595
|
+
* unionInfo: string,
|
|
1596
|
+
* ) => Promise<Record<string, string>>}
|
|
1597
|
+
* @memberof IPlayAuthTokenConfig
|
|
1598
|
+
*/
|
|
1599
|
+
getDrmAuthToken?: (playAuthIds: string, vid: string, unionInfo: string) => Promise<string>;
|
|
1600
|
+
/**
|
|
1601
|
+
* 是否禁用DRM解密播放降级,默认false
|
|
1602
|
+
* @type {boolean}
|
|
1603
|
+
*/
|
|
1604
|
+
disDrmDegraded?: boolean;
|
|
1436
1605
|
/**
|
|
1437
1606
|
* 可携带aid等透传参数,如
|
|
1438
1607
|
* {aid: 1234},以playAuthToken下发的参数的优先级最高。
|
|
@@ -1456,8 +1625,8 @@ export interface IPlayAuthTokenConfig {
|
|
|
1456
1625
|
* ``` javascript
|
|
1457
1626
|
* {
|
|
1458
1627
|
* '480p': {
|
|
1459
|
-
* definition: 'hd',
|
|
1460
|
-
* definitionTextKey: 'HD'
|
|
1628
|
+
* definition: 'hd', // 清晰度兜底文案
|
|
1629
|
+
* definitionTextKey: 'HD' // 多语言文案key
|
|
1461
1630
|
* },
|
|
1462
1631
|
* '720p': {
|
|
1463
1632
|
* definition: 'uhd',
|
|
@@ -1470,6 +1639,12 @@ export interface IPlayAuthTokenConfig {
|
|
|
1470
1639
|
* @memberof IPlayAuthTokenConfig
|
|
1471
1640
|
*/
|
|
1472
1641
|
definitionMap?: Record<string, string | definitionItem>;
|
|
1642
|
+
/**
|
|
1643
|
+
* 服务502错误时重试次数,默认为1
|
|
1644
|
+
* @type {number}
|
|
1645
|
+
* @memberof IPlayAuthTokenConfig
|
|
1646
|
+
*/
|
|
1647
|
+
retryCount?: number;
|
|
1473
1648
|
}
|
|
1474
1649
|
/**
|
|
1475
1650
|
* 清晰度定义
|
|
@@ -1598,6 +1773,11 @@ declare class PlayerData {
|
|
|
1598
1773
|
expireDetectType: Array<"xhrStatus" | "urlExpire" | "getUrlTime">;
|
|
1599
1774
|
onMediaExpired: () => Promise<IPlayerConfig>;
|
|
1600
1775
|
onTokenExpired: () => Promise<IPlayAuthTokenConfig>;
|
|
1776
|
+
platform: PlatformEnum;
|
|
1777
|
+
apiMap: apiMapItem;
|
|
1778
|
+
unionId?: string;
|
|
1779
|
+
unionInfo?: string;
|
|
1780
|
+
isMusic?: boolean;
|
|
1601
1781
|
constructor(configs: IPlayerConfig);
|
|
1602
1782
|
initPlayData(configs: any): void;
|
|
1603
1783
|
initPlaylistAndGetCurrent(configs: IPlayerConfig): any;
|
|
@@ -1645,6 +1825,38 @@ declare class PlayerData {
|
|
|
1645
1825
|
*/
|
|
1646
1826
|
getNextDefinition(isDown: boolean, demotePriority: any): Stream[];
|
|
1647
1827
|
}
|
|
1828
|
+
declare function isMSESupport(mime?: string): boolean;
|
|
1829
|
+
export interface IConfig {
|
|
1830
|
+
mode?: number;
|
|
1831
|
+
isAutoChange?: boolean;
|
|
1832
|
+
}
|
|
1833
|
+
declare class MobilePlayerPanel {
|
|
1834
|
+
config: IConfig;
|
|
1835
|
+
parent: HTMLElement;
|
|
1836
|
+
root: any;
|
|
1837
|
+
mode: number;
|
|
1838
|
+
isAutoChange: number;
|
|
1839
|
+
player: any;
|
|
1840
|
+
children: HTMLElement | undefined;
|
|
1841
|
+
container: HTMLElement | undefined;
|
|
1842
|
+
title: HTMLElement | undefined;
|
|
1843
|
+
isShow: boolean;
|
|
1844
|
+
constructor(args: any);
|
|
1845
|
+
initEvents(): void;
|
|
1846
|
+
handleOrientationChange(): void;
|
|
1847
|
+
changeConfig(config: IConfig): void;
|
|
1848
|
+
changeMode(mode: number): void;
|
|
1849
|
+
renderPanel(): void;
|
|
1850
|
+
showPanel(children: HTMLElement, title?: string, isItemList?: boolean): Promise<void>;
|
|
1851
|
+
updatePanel(children: HTMLElement): void;
|
|
1852
|
+
setTitle(title: any): void;
|
|
1853
|
+
renderTitle(title: any): HTMLElement;
|
|
1854
|
+
show(): void;
|
|
1855
|
+
hide(): void;
|
|
1856
|
+
handleHide(e: any): void;
|
|
1857
|
+
bind(event: string, eventHandle: any, isBubble?: boolean): void;
|
|
1858
|
+
destroy(): void;
|
|
1859
|
+
}
|
|
1648
1860
|
declare class VePlayer {
|
|
1649
1861
|
/**
|
|
1650
1862
|
* 播放相关配置数据
|
|
@@ -1655,12 +1867,18 @@ declare class VePlayer {
|
|
|
1655
1867
|
*/
|
|
1656
1868
|
playerData: PlayerData;
|
|
1657
1869
|
/**
|
|
1658
|
-
*
|
|
1659
|
-
* @hidden
|
|
1870
|
+
* 播放器内核实例
|
|
1660
1871
|
* @type {*}
|
|
1661
1872
|
* @memberof VePlayer
|
|
1662
1873
|
*/
|
|
1663
|
-
player:
|
|
1874
|
+
player: Player & {
|
|
1875
|
+
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
1876
|
+
playerData?: PlayerData;
|
|
1877
|
+
playerType?: string;
|
|
1878
|
+
playerVersion?: string;
|
|
1879
|
+
panel?: MobilePlayerPanel;
|
|
1880
|
+
emitExpireTimestamp?: number;
|
|
1881
|
+
};
|
|
1664
1882
|
/**
|
|
1665
1883
|
* @hidden
|
|
1666
1884
|
*
|
|
@@ -1744,7 +1962,7 @@ declare class VePlayer {
|
|
|
1744
1962
|
* @type {*}
|
|
1745
1963
|
* @memberof VePlayer
|
|
1746
1964
|
*/
|
|
1747
|
-
|
|
1965
|
+
delayError: any[];
|
|
1748
1966
|
private isFirstEmitted;
|
|
1749
1967
|
/**
|
|
1750
1968
|
* @hidden
|
|
@@ -1753,6 +1971,9 @@ declare class VePlayer {
|
|
|
1753
1971
|
* @memberof VePlayer
|
|
1754
1972
|
*/
|
|
1755
1973
|
private sdkUmdLoader;
|
|
1974
|
+
static isMSESupported: typeof isMSESupport;
|
|
1975
|
+
static isRTMSupported: typeof import("@byted/xgplayer-rts").RtsPlugin.isSupported;
|
|
1976
|
+
static playerVersion: string;
|
|
1756
1977
|
constructor(configs: IPlayerConfig);
|
|
1757
1978
|
/**
|
|
1758
1979
|
*
|
|
@@ -1855,16 +2076,22 @@ declare class VePlayer {
|
|
|
1855
2076
|
* @return {*}
|
|
1856
2077
|
* @memberof VePlayer
|
|
1857
2078
|
*/
|
|
1858
|
-
createPlayer(): Promise<
|
|
2079
|
+
createPlayer(): Promise<Player & {
|
|
2080
|
+
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2081
|
+
playerData?: PlayerData;
|
|
2082
|
+
playerType?: string;
|
|
2083
|
+
playerVersion?: string;
|
|
2084
|
+
panel?: MobilePlayerPanel;
|
|
2085
|
+
emitExpireTimestamp?: number;
|
|
2086
|
+
}>;
|
|
1859
2087
|
/**
|
|
1860
2088
|
* @hidden
|
|
1861
2089
|
*
|
|
1862
2090
|
* @param {*} finalOptions
|
|
1863
|
-
* @param {IEncryptHlsPluginConfig} encryptHlsPluginConfig
|
|
1864
2091
|
* @return {*}
|
|
1865
2092
|
* @memberof VePlayer
|
|
1866
2093
|
*/
|
|
1867
|
-
|
|
2094
|
+
setPluginConfig(finalOptions: IPlayerConfig): void;
|
|
1868
2095
|
/**
|
|
1869
2096
|
* @hidden
|
|
1870
2097
|
*
|
|
@@ -1887,7 +2114,7 @@ declare class VePlayer {
|
|
|
1887
2114
|
* @memberof VePlayer
|
|
1888
2115
|
*/
|
|
1889
2116
|
getCurrentPlayerConfig(): {
|
|
1890
|
-
type?: "
|
|
2117
|
+
type?: "vod" | "live";
|
|
1891
2118
|
isLive?: boolean;
|
|
1892
2119
|
lineId?: string | number;
|
|
1893
2120
|
definition?: string;
|
|
@@ -1926,7 +2153,7 @@ declare class VePlayer {
|
|
|
1926
2153
|
*
|
|
1927
2154
|
* @memberof VePlayer
|
|
1928
2155
|
*/
|
|
1929
|
-
_setPlayerInfo
|
|
2156
|
+
private _setPlayerInfo;
|
|
1930
2157
|
/**
|
|
1931
2158
|
*
|
|
1932
2159
|
*
|
|
@@ -1997,14 +2224,14 @@ declare class VePlayer {
|
|
|
1997
2224
|
getSdkPlugin(name: any): any;
|
|
1998
2225
|
/**
|
|
1999
2226
|
* @description 更换playAuthToken的方法
|
|
2000
|
-
* @
|
|
2001
|
-
* @param { IPlayAuthTokenConfig } config
|
|
2002
|
-
* @param { boolean } isNewVideo 是否是新视频,默认false
|
|
2227
|
+
* @notes 这里指同一个视频切换视频源,不能用来切换不同类型的视频
|
|
2228
|
+
* @param { IPlayAuthTokenConfig } config authToken配置
|
|
2229
|
+
* @param { boolean } isNewVideo 是否是新视频,默认true。若未false即表示同一个视频切换token播放,会在切换前时间点继续播放
|
|
2003
2230
|
* @memberof VePlayer
|
|
2004
2231
|
*/
|
|
2005
2232
|
switchAuthToken(config: IPlayAuthTokenConfig, isNewVideo?: boolean): Promise<void>;
|
|
2006
2233
|
/**
|
|
2007
|
-
* @description 更新playAuthToken
|
|
2234
|
+
* @description 更新playAuthToken的方法,用来更新视频地址
|
|
2008
2235
|
* @param { IPlayAuthTokenConfig } config
|
|
2009
2236
|
* @memberof VePlayer
|
|
2010
2237
|
*/
|
|
@@ -2016,14 +2243,14 @@ declare class VePlayer {
|
|
|
2016
2243
|
get src(): any;
|
|
2017
2244
|
/**
|
|
2018
2245
|
* @description 设置当前视频的地址
|
|
2019
|
-
* @
|
|
2246
|
+
* @notes 会重新拉取新的视频,从0开始起播
|
|
2020
2247
|
* @memberof VePlayer
|
|
2021
2248
|
*/
|
|
2022
2249
|
set src(url: any);
|
|
2023
2250
|
/**
|
|
2024
2251
|
* 切换视频url
|
|
2025
2252
|
* @param {string} url 同一个视频,切换视频地址
|
|
2026
|
-
* @
|
|
2253
|
+
* @notes 切换后从切换前的时间点继续播放
|
|
2027
2254
|
* @return {Promise<void>}
|
|
2028
2255
|
* @memberof VePlayer
|
|
2029
2256
|
*/
|
|
@@ -2032,17 +2259,19 @@ declare class VePlayer {
|
|
|
2032
2259
|
* 重建播放下一个
|
|
2033
2260
|
*
|
|
2034
2261
|
* @param {playerConfig} config
|
|
2262
|
+
* @param { boolean } isNewVideo 是否是新视频,默认true。若未false即表示同一个视频切换token播放,会在切换前时间点继续播放
|
|
2035
2263
|
* @memberof VePlayer
|
|
2036
2264
|
*/
|
|
2037
|
-
next(config: IPlayerConfig): Promise<void>;
|
|
2265
|
+
next(config: IPlayerConfig, isNewVideo?: boolean): Promise<void>;
|
|
2038
2266
|
/**
|
|
2039
2267
|
* 切换视频源,主要用于在视频过期时更新视频源
|
|
2040
2268
|
*
|
|
2041
2269
|
* @param {IPlayerConfig} config
|
|
2270
|
+
* @param { boolean } isNewVideo 是否是新视频,默认true。若未false即表示同一个视频切换token播放,会在切换前时间点继续播放
|
|
2042
2271
|
* @return{Promise<any>}
|
|
2043
2272
|
* @memberof VePlayer
|
|
2044
2273
|
*/
|
|
2045
|
-
playNext(config: IPlayerConfig): Promise<any>;
|
|
2274
|
+
playNext(config: IPlayerConfig, isNewVideo?: boolean): Promise<any>;
|
|
2046
2275
|
/**
|
|
2047
2276
|
* @hidden
|
|
2048
2277
|
*
|
|
@@ -2063,9 +2292,16 @@ declare class VePlayer {
|
|
|
2063
2292
|
* @return {*}
|
|
2064
2293
|
* @memberof VePlayer
|
|
2065
2294
|
*/
|
|
2066
|
-
getPlayerInstance():
|
|
2295
|
+
getPlayerInstance(): Player & {
|
|
2296
|
+
changePluginsIcon?: (name: any, isShow: any) => void;
|
|
2297
|
+
playerData?: PlayerData;
|
|
2298
|
+
playerType?: string;
|
|
2299
|
+
playerVersion?: string;
|
|
2300
|
+
panel?: MobilePlayerPanel;
|
|
2301
|
+
emitExpireTimestamp?: number;
|
|
2302
|
+
};
|
|
2067
2303
|
/**
|
|
2068
|
-
* @
|
|
2304
|
+
* @hidden
|
|
2069
2305
|
*
|
|
2070
2306
|
* @return {*}
|
|
2071
2307
|
* @memberof VePlayer
|
|
@@ -2094,13 +2330,128 @@ declare class VePlayer {
|
|
|
2094
2330
|
*/
|
|
2095
2331
|
private _initI18N;
|
|
2096
2332
|
/**
|
|
2097
|
-
*
|
|
2333
|
+
* 获取音乐播放模式
|
|
2334
|
+
* @notes 仅音乐播放模式有效
|
|
2335
|
+
* @return {PLAY_MODE_TYPE}
|
|
2336
|
+
* @memberof VePlayer
|
|
2337
|
+
*/
|
|
2338
|
+
get musicMode(): PLAY_MODE_TYPE;
|
|
2339
|
+
/**
|
|
2340
|
+
* 设置音乐播放模式
|
|
2341
|
+
* @notes 仅音乐播放模式有效
|
|
2342
|
+
* @memberof VePlayer
|
|
2343
|
+
* @param {PLAY_MODE_TYPE} val 模式值
|
|
2344
|
+
*/
|
|
2345
|
+
set musicMode(val: PLAY_MODE_TYPE);
|
|
2346
|
+
/**
|
|
2347
|
+
* 获取音乐播放快进快退时间跨度
|
|
2348
|
+
* @notes 仅音乐播放模式有效
|
|
2349
|
+
* @return {number}
|
|
2350
|
+
* @memberof VePlayer
|
|
2351
|
+
*/
|
|
2352
|
+
get musicTimeScale(): number;
|
|
2353
|
+
/**
|
|
2354
|
+
* 设置音乐播放快进快退时间跨度
|
|
2355
|
+
* @notes 仅音乐播放模式有效
|
|
2356
|
+
* @param {number} scale 时间跨度
|
|
2357
|
+
* @memberof VePlayer
|
|
2358
|
+
*/
|
|
2359
|
+
set musicTimeScale(scale: number);
|
|
2360
|
+
/**
|
|
2361
|
+
* 获取音乐播放列表
|
|
2362
|
+
* @notes 仅音乐播放模式有效
|
|
2363
|
+
* @return {IMusicListItem[]}
|
|
2364
|
+
* @memberof VePlayer
|
|
2365
|
+
*/
|
|
2366
|
+
get musicList(): IMusicListItem[];
|
|
2367
|
+
/**
|
|
2368
|
+
* 设置音乐播放列表
|
|
2369
|
+
* @notes 仅音乐播放模式有效
|
|
2370
|
+
* @param {IMusicListItem[]} list 播放列表
|
|
2371
|
+
* @memberof VePlayer
|
|
2372
|
+
*/
|
|
2373
|
+
set musicList(list: IMusicListItem[]);
|
|
2374
|
+
/**
|
|
2375
|
+
* 向播放列表中加入歌曲
|
|
2376
|
+
* @notes 仅音乐播放模式有效
|
|
2377
|
+
* @param {IMusicListItem} meta 歌曲信息
|
|
2378
|
+
* @memberof VePlayer
|
|
2379
|
+
*/
|
|
2380
|
+
musicAdd(meta: IMusicListItem): void;
|
|
2381
|
+
/**
|
|
2382
|
+
* 随机获取播放列表中某一首歌曲
|
|
2383
|
+
* @notes 仅音乐播放模式有效
|
|
2384
|
+
* @return {IMusicListItem} 歌曲信息
|
|
2385
|
+
* @memberof VePlayer
|
|
2386
|
+
*/
|
|
2387
|
+
musicRandom(): IMusicListItem;
|
|
2388
|
+
/**
|
|
2389
|
+
* 播放播放列表的下一首歌曲
|
|
2390
|
+
* @notes 仅音乐播放模式有效
|
|
2391
|
+
* @memberof VePlayer
|
|
2392
|
+
*/
|
|
2393
|
+
musicNext(): void;
|
|
2394
|
+
/**
|
|
2395
|
+
* 播放播放列表的上一首歌曲
|
|
2396
|
+
* @notes 仅音乐播放模式有效
|
|
2397
|
+
* @memberof VePlayer
|
|
2398
|
+
*/
|
|
2399
|
+
musicPrev(): void;
|
|
2400
|
+
/**
|
|
2401
|
+
* 播放播放列表的第n首歌曲
|
|
2402
|
+
* @notes 仅音乐播放模式有效
|
|
2403
|
+
* @param {number} index 播放列表中的序号
|
|
2404
|
+
* @memberof VePlayer
|
|
2405
|
+
*/
|
|
2406
|
+
musicSetIndex(index: number): void;
|
|
2407
|
+
/**
|
|
2408
|
+
* 歌曲快进
|
|
2409
|
+
* @notes 仅音乐播放模式有效
|
|
2410
|
+
* @memberof VePlayer
|
|
2411
|
+
*/
|
|
2412
|
+
musicForward(): void;
|
|
2413
|
+
/**
|
|
2414
|
+
* 歌曲后退
|
|
2415
|
+
* @notes 仅音乐播放模式有效
|
|
2416
|
+
* @memberof VePlayer
|
|
2417
|
+
*/
|
|
2418
|
+
musicBackward(): void;
|
|
2419
|
+
/**
|
|
2420
|
+
* 从播放列表移除指定歌曲
|
|
2421
|
+
* @notes 仅音乐播放模式有效
|
|
2422
|
+
* @param {string | number} vid 歌曲vid
|
|
2423
|
+
* @memberof VePlayer
|
|
2424
|
+
*/
|
|
2425
|
+
musicRemove(vid: string | number): void;
|
|
2426
|
+
/**
|
|
2427
|
+
* 设置ab循环
|
|
2428
|
+
* @param { number | IABCycle } start
|
|
2429
|
+
* @param { number } [end]
|
|
2430
|
+
* @param { boolean } [loop]
|
|
2431
|
+
* @param {{ [propName: string]: any }} [ext]
|
|
2432
|
+
* @memberof VePlayer
|
|
2433
|
+
*/
|
|
2434
|
+
musicSetAbCycle(start: number | IABCycle, end?: number, loop?: boolean, ext?: {
|
|
2435
|
+
[propName: string]: any;
|
|
2436
|
+
}): void;
|
|
2437
|
+
/**
|
|
2438
|
+
* 移除ab循环
|
|
2439
|
+
* @memberof VePlayer
|
|
2440
|
+
*/
|
|
2441
|
+
musicRemoveAbCycle(): void;
|
|
2442
|
+
/**
|
|
2443
|
+
* 销毁当前播放器SDK实例
|
|
2098
2444
|
*
|
|
2099
2445
|
* @memberof VePlayer
|
|
2100
2446
|
*/
|
|
2101
2447
|
destroy(): Promise<void>;
|
|
2102
2448
|
}
|
|
2103
2449
|
export declare function getI18N(): typeof I18N;
|
|
2450
|
+
declare class MusicPreset {
|
|
2451
|
+
ignores: string[];
|
|
2452
|
+
plugins: any[];
|
|
2453
|
+
constructor(options: any, playerConfig: any);
|
|
2454
|
+
}
|
|
2104
2455
|
export interface ISubTitles {
|
|
2105
2456
|
timestamp: number;
|
|
2106
2457
|
text: string;
|
|
@@ -2251,6 +2602,7 @@ export interface IPanelItem {
|
|
|
2251
2602
|
"data-type"?: string;
|
|
2252
2603
|
}
|
|
2253
2604
|
export declare class Subtitle extends Plugin {
|
|
2605
|
+
constructor(args: any);
|
|
2254
2606
|
static get pluginName(): string;
|
|
2255
2607
|
static get defaultConfig(): {
|
|
2256
2608
|
position: string;
|
|
@@ -2270,6 +2622,9 @@ export declare class Subtitle extends Plugin {
|
|
|
2270
2622
|
line: string;
|
|
2271
2623
|
fontColor: string;
|
|
2272
2624
|
};
|
|
2625
|
+
isShowIcon: boolean;
|
|
2626
|
+
mode: string;
|
|
2627
|
+
updateMode: string;
|
|
2273
2628
|
};
|
|
2274
2629
|
private _delegates;
|
|
2275
2630
|
isOpenState: boolean;
|
|
@@ -2278,13 +2633,31 @@ export declare class Subtitle extends Plugin {
|
|
|
2278
2633
|
subTitles: any;
|
|
2279
2634
|
curIndex: number;
|
|
2280
2635
|
curItem: ISubTitleItem;
|
|
2281
|
-
beforeCreate(args: any): void;
|
|
2282
2636
|
afterCreate(): void;
|
|
2637
|
+
/**
|
|
2638
|
+
* @description 初始化原生字幕
|
|
2639
|
+
*
|
|
2640
|
+
*/
|
|
2641
|
+
_initNativeSubtitle(defaultIndex: any): void;
|
|
2642
|
+
/**
|
|
2643
|
+
* 初始化外挂字幕
|
|
2644
|
+
* @param {number} defaultIndex
|
|
2645
|
+
*/
|
|
2646
|
+
_initExtSubTitle(defaultIndex: any): void;
|
|
2647
|
+
_renderList(defaultIndex: any): void;
|
|
2648
|
+
_onOff(): void;
|
|
2649
|
+
_onChange(data: any): void;
|
|
2650
|
+
_onListReset(data: any): void;
|
|
2651
|
+
updateCurItem(cIndex: any, subtitle: any): void;
|
|
2283
2652
|
initEvents(): void;
|
|
2284
2653
|
handleButtonChange(e: any): void;
|
|
2285
2654
|
showList(): void;
|
|
2286
2655
|
hideList(): void;
|
|
2287
2656
|
openSubtitle(): void;
|
|
2657
|
+
getSubTitleIndex(list: any, subtitle?: {
|
|
2658
|
+
id: string;
|
|
2659
|
+
language: string;
|
|
2660
|
+
}): number;
|
|
2288
2661
|
registerIcons(): {
|
|
2289
2662
|
vttSubOpen: {
|
|
2290
2663
|
icon: any;
|
|
@@ -2326,13 +2699,15 @@ export declare class Subtitle extends Plugin {
|
|
|
2326
2699
|
*/
|
|
2327
2700
|
switchSubTitle(subtitle?: ISubTitleItem): any;
|
|
2328
2701
|
switchOffSubtitle(): void;
|
|
2702
|
+
noShowSubtitle(): void;
|
|
2329
2703
|
renderItemList(): void;
|
|
2330
2704
|
/**
|
|
2331
2705
|
*
|
|
2332
|
-
* @param { Array<
|
|
2706
|
+
* @param { Array<SubTitleItem> } list
|
|
2333
2707
|
* @param { boolean } needRemove 是否移除原来的字幕
|
|
2334
2708
|
*/
|
|
2335
2709
|
updateSubtitles(list?: any[], needRemove?: boolean): void;
|
|
2710
|
+
updateList(data?: {}): void;
|
|
2336
2711
|
changeTipText(): void;
|
|
2337
2712
|
showMobilePanel(): void;
|
|
2338
2713
|
updatePanel(): void;
|
|
@@ -2629,9 +3004,11 @@ export declare class LiveInfoPanel extends Plugin {
|
|
|
2629
3004
|
close(): void;
|
|
2630
3005
|
render(): string;
|
|
2631
3006
|
}
|
|
3007
|
+
export * from "xgplayer";
|
|
2632
3008
|
|
|
2633
3009
|
export {
|
|
2634
3010
|
LiveSubTitlesPlugin as LiveSubtitlesPlugin,
|
|
3011
|
+
MusicPreset as Music,
|
|
2635
3012
|
VePlayer as default,
|
|
2636
3013
|
};
|
|
2637
3014
|
|