@volcengine/veplayer 2.2.0-rc.2 → 2.3.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -0
- package/esm/index.d.ts +84 -88
- package/esm/veplayer.biz.live.development.js +104 -27
- package/esm/veplayer.biz.live.production.js +1 -1
- package/esm/veplayer.d.ts +327 -178
- package/esm/veplayer.development.css +1 -1
- package/esm/veplayer.development.js +458 -143
- package/esm/veplayer.live.d.ts +327 -178
- package/esm/veplayer.live.development.css +1 -1
- package/esm/veplayer.live.development.js +458 -143
- package/esm/veplayer.live.production.css +1 -1
- package/esm/veplayer.live.production.js +3 -3
- package/esm/veplayer.production.css +1 -1
- package/esm/veplayer.production.js +3 -3
- package/esm/veplayer.vod.d.ts +84 -88
- package/esm/veplayer.vod.development.css +1 -1
- package/esm/veplayer.vod.development.js +366 -125
- package/esm/veplayer.vod.production.css +1 -1
- package/esm/veplayer.vod.production.js +2 -2
- package/package.json +1 -1
- package/umd/index.d.ts +84 -88
- package/umd/veplayer.biz.live.development.js +107 -30
- package/umd/veplayer.biz.live.production.js +1 -1
- package/umd/veplayer.biz.vod.development.js +3 -2
- package/umd/veplayer.biz.vod.production.js +1 -1
- package/umd/veplayer.d.ts +327 -178
- package/umd/veplayer.development.css +1 -1
- package/umd/veplayer.development.js +457 -142
- package/umd/veplayer.live.d.ts +327 -178
- package/umd/veplayer.live.development.css +1 -1
- package/umd/veplayer.live.development.js +460 -145
- package/umd/veplayer.live.production.css +1 -1
- package/umd/veplayer.live.production.js +1 -1
- package/umd/veplayer.production.css +1 -1
- package/umd/veplayer.production.js +1 -1
- package/umd/veplayer.vod.d.ts +84 -88
- package/umd/veplayer.vod.development.css +1 -1
- package/umd/veplayer.vod.development.js +371 -130
- package/umd/veplayer.vod.production.css +1 -1
- package/umd/veplayer.vod.production.js +1 -1
- package/veplayer.d.ts +327 -178
- package/veplayer.live.d.ts +327 -178
- package/veplayer.vod.d.ts +84 -88
package/umd/veplayer.vod.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ declare const EN: {
|
|
|
26
26
|
MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
|
|
27
27
|
MEDIA_ERR_URL_EMPTY: string;
|
|
28
28
|
DRM: string;
|
|
29
|
+
DRM_LICENSE: string;
|
|
29
30
|
OTHER: string;
|
|
30
31
|
RUNTIME: string;
|
|
31
32
|
MODULE_LOAD_ERROR: string;
|
|
@@ -113,7 +114,7 @@ declare class Definition implements XGDefinition {
|
|
|
113
114
|
* @list option
|
|
114
115
|
* @kind property
|
|
115
116
|
* @id Definition
|
|
116
|
-
* @
|
|
117
|
+
* @alias Definition
|
|
117
118
|
*
|
|
118
119
|
*/
|
|
119
120
|
interface ExposedDefinition {
|
|
@@ -123,7 +124,7 @@ interface ExposedDefinition {
|
|
|
123
124
|
*/
|
|
124
125
|
url: string;
|
|
125
126
|
/** {zh}
|
|
126
|
-
* @brief
|
|
127
|
+
* @brief 清晰度标识(唯一值)。
|
|
127
128
|
* @default 无
|
|
128
129
|
*
|
|
129
130
|
*/
|
|
@@ -142,14 +143,13 @@ interface ExposedDefinition {
|
|
|
142
143
|
}
|
|
143
144
|
/**
|
|
144
145
|
* @list option
|
|
145
|
-
* @brief 线路数据配置。一个线路包含当前线路的 name ,展示名称,及线路下的清晰度列表。
|
|
146
146
|
* @kind property
|
|
147
147
|
* @id Source
|
|
148
|
-
* @
|
|
148
|
+
* @alias Source
|
|
149
149
|
*/
|
|
150
150
|
interface ExposedSource {
|
|
151
151
|
/** {zh}
|
|
152
|
-
* @brief
|
|
152
|
+
* @brief 线路标识(唯一值)。
|
|
153
153
|
* @default 无
|
|
154
154
|
*/
|
|
155
155
|
name?: string;
|
|
@@ -562,13 +562,15 @@ interface ErrorInfo<T = TextKey> {
|
|
|
562
562
|
error?: Error;
|
|
563
563
|
}
|
|
564
564
|
/**
|
|
565
|
+
* @list error
|
|
565
566
|
* @detail error
|
|
566
|
-
* @
|
|
567
|
-
* @
|
|
567
|
+
* @brief 错误对象
|
|
568
|
+
* @name VeError
|
|
569
|
+
* @id VeError
|
|
568
570
|
*/
|
|
569
571
|
declare class VeError<T extends string = TextKey> extends Error {
|
|
570
572
|
/**
|
|
571
|
-
* @brief 错误码,对应[错误码字典](
|
|
573
|
+
* @brief 错误码,对应[错误码字典](#ErrorCode)。
|
|
572
574
|
*/
|
|
573
575
|
readonly errorCode: ErrorCode;
|
|
574
576
|
/**
|
|
@@ -682,7 +684,7 @@ interface DefinitionConfig {
|
|
|
682
684
|
needFallback?: boolean;
|
|
683
685
|
/** {zh}
|
|
684
686
|
* @brief 降级顺序,按照数组顺序依次降级,数组中的元素与 playlist 中的 definition 相对应。
|
|
685
|
-
* @default
|
|
687
|
+
* @default ['uhd', 'hd', 'sd', 'ld', 'ao']
|
|
686
688
|
*/
|
|
687
689
|
demotePriority?: string[];
|
|
688
690
|
}
|
|
@@ -799,7 +801,6 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
|
|
|
799
801
|
* @brief 为播放器设置是否显示全屏功能按钮,并进行全屏功能设置。
|
|
800
802
|
* - `true`:显示;
|
|
801
803
|
* - `false`:不显示。
|
|
802
|
-
* @default -
|
|
803
804
|
*/
|
|
804
805
|
fullscreen?: boolean | Fullscreen;
|
|
805
806
|
/** {zh}
|
|
@@ -829,11 +830,12 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
|
|
|
829
830
|
/** {zh}
|
|
830
831
|
* @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
|
|
831
832
|
* - `true`:启用,表示视频将在页面文档内播放;
|
|
832
|
-
* - `false
|
|
833
|
+
* - `false`:停用,默认浏览器播放行为。</br>
|
|
834
|
+
*
|
|
833
835
|
* 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
|
|
834
836
|
* @listtip
|
|
835
|
-
* iOS 10 及以上系统 Safari
|
|
836
|
-
* iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
|
|
837
|
+
* - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
|
|
838
|
+
* - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
|
|
837
839
|
* @default true
|
|
838
840
|
*/
|
|
839
841
|
playsinline?: boolean;
|
|
@@ -850,8 +852,8 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
|
|
|
850
852
|
* - `false`:停用
|
|
851
853
|
* @listtip
|
|
852
854
|
* 启用流式布局时:
|
|
853
|
-
* 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
|
|
854
|
-
* 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
|
|
855
|
+
* - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
|
|
856
|
+
* - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
|
|
855
857
|
* @default false
|
|
856
858
|
*/
|
|
857
859
|
fluid?: boolean;
|
|
@@ -925,22 +927,22 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
|
|
|
925
927
|
interface Fullscreen {
|
|
926
928
|
/** {zh}
|
|
927
929
|
* @brief 切换全屏时,是否旋转为横屏播放,通常在移动端使用。如果开启横屏播放,切换全屏时,将在竖屏状态下把播放器旋转 90 度,实现横屏效果。该配置优先级高于 useCssFullscreen。
|
|
928
|
-
* `true`:使用旋转横屏;
|
|
929
|
-
* `false`:不使用旋转横屏。
|
|
930
|
+
* - `true`:使用旋转横屏;
|
|
931
|
+
* - `false`:不使用旋转横屏。
|
|
930
932
|
* @default false
|
|
931
933
|
*/
|
|
932
934
|
rotateFullscreen?: boolean;
|
|
933
935
|
/** {zh}
|
|
934
936
|
* @brief 是否使用页面全屏代替系统全屏功能。
|
|
935
|
-
* `true`:页面全屏;
|
|
936
|
-
* `false`:系统全屏。
|
|
937
|
+
* - `true`:页面全屏;
|
|
938
|
+
* - `false`:系统全屏。
|
|
937
939
|
* @default false
|
|
938
940
|
*/
|
|
939
941
|
useCssFullscreen?: boolean;
|
|
940
942
|
/**{zh}
|
|
941
943
|
* 全屏的时候是否显示右上角返回按钮,通常在移动端开启。
|
|
942
|
-
* `true`:显示;
|
|
943
|
-
* `false`:不显示。
|
|
944
|
+
* - `true`:显示;
|
|
945
|
+
* - `false`:不显示。
|
|
944
946
|
* @default false
|
|
945
947
|
*/
|
|
946
948
|
needBackIcon?: boolean;
|
|
@@ -992,11 +994,11 @@ type PreparePlugins = (url: string) => Promise<PrepareResult> | undefined;
|
|
|
992
994
|
*/
|
|
993
995
|
declare enum Codec {
|
|
994
996
|
/** {zh}
|
|
995
|
-
* @brief
|
|
997
|
+
* @brief H.265 编码格式
|
|
996
998
|
*/
|
|
997
999
|
H265 = "h265",
|
|
998
1000
|
/** {zh}
|
|
999
|
-
* @brief
|
|
1001
|
+
* @brief H.264 编码格式
|
|
1000
1002
|
*/
|
|
1001
1003
|
H264 = "h264"
|
|
1002
1004
|
}
|
|
@@ -1019,18 +1021,6 @@ declare enum Degradation {
|
|
|
1019
1021
|
* @detail option
|
|
1020
1022
|
* @brief 解码方式。
|
|
1021
1023
|
* @example
|
|
1022
|
-
* ```js
|
|
1023
|
-
* VePlayer.createLivePlayer({
|
|
1024
|
-
* height: 360,
|
|
1025
|
-
* url: options.url,
|
|
1026
|
-
* }).then(function (veplayer) {
|
|
1027
|
-
* veplayer.on(VePlayer.live.Events.CANPLAY, function () {
|
|
1028
|
-
* console.log('监听到 canplay 事件')
|
|
1029
|
-
* });
|
|
1030
|
-
* }).catch(error => {
|
|
1031
|
-
* console.log('创建播放器失败,报错信息:', error);
|
|
1032
|
-
* });;
|
|
1033
|
-
* ```
|
|
1034
1024
|
*/
|
|
1035
1025
|
declare enum DecodeType {
|
|
1036
1026
|
/** {zh}
|
|
@@ -1221,13 +1211,13 @@ declare class VePlayerBase {
|
|
|
1221
1211
|
/**
|
|
1222
1212
|
* @brief 调用此方法监听指定事件,事件处理函数只执行一次。
|
|
1223
1213
|
* @param event 表示事件的名称。
|
|
1224
|
-
* @param callback
|
|
1214
|
+
* @param callback 表示事件的回调函数。
|
|
1225
1215
|
*/
|
|
1226
1216
|
once(event: string, callback: (data?: any) => any): void;
|
|
1227
1217
|
/**
|
|
1228
1218
|
* @brief 调用此方法解绑或移除指定事件的事件监听。
|
|
1229
1219
|
* @param event 表示事件的名称。
|
|
1230
|
-
* @param callback
|
|
1220
|
+
* @param callback 表示事件的回调函数。
|
|
1231
1221
|
*/
|
|
1232
1222
|
off(event: string, callback: (data?: any) => any): void;
|
|
1233
1223
|
/**
|
|
@@ -1242,8 +1232,8 @@ declare class VePlayerBase {
|
|
|
1242
1232
|
offAll(): void;
|
|
1243
1233
|
/**
|
|
1244
1234
|
* @brief 调用此方法监听指定事件。
|
|
1245
|
-
* @param event
|
|
1246
|
-
* @param callback
|
|
1235
|
+
* @param event 表示事件名称。
|
|
1236
|
+
* @param callback 表示事件的回调函数。
|
|
1247
1237
|
*/
|
|
1248
1238
|
on(event: string, callback: (data?: any) => any): void;
|
|
1249
1239
|
/**
|
|
@@ -1396,7 +1386,8 @@ declare enum DynamicModule {
|
|
|
1396
1386
|
PluginHls = "plugin:hls",
|
|
1397
1387
|
PluginShaka = "plugin:shaka",
|
|
1398
1388
|
PluginRtm = "plugin:rtm",
|
|
1399
|
-
PluginXgvideo = "plugin:xgvideo"
|
|
1389
|
+
PluginXgvideo = "plugin:xgvideo",
|
|
1390
|
+
PluginDrm = "plugin:drm"
|
|
1400
1391
|
}
|
|
1401
1392
|
type ModulesMap = {
|
|
1402
1393
|
[DynamicModule.BizVod]: Exports;
|
|
@@ -1407,12 +1398,13 @@ type ModulesMap = {
|
|
|
1407
1398
|
[DynamicModule.PluginShaka]: Exports;
|
|
1408
1399
|
[DynamicModule.PluginRtm]: Exports;
|
|
1409
1400
|
[DynamicModule.PluginXgvideo]: Exports;
|
|
1401
|
+
[DynamicModule.PluginDrm]: Exports;
|
|
1410
1402
|
};
|
|
1411
|
-
declare const register: (
|
|
1403
|
+
declare const register: (exports: {
|
|
1412
1404
|
[x: string]: any;
|
|
1413
|
-
}) => {
|
|
1405
|
+
}[]) => {
|
|
1414
1406
|
[x: string]: any;
|
|
1415
|
-
};
|
|
1407
|
+
}[];
|
|
1416
1408
|
declare function load<T extends DynamicModule>(name: T, src?: string): Promise<ModulesMap[T]>;
|
|
1417
1409
|
declare module MobilePlayerPanelWrapper {
|
|
1418
1410
|
export { MobilePlayerPanel };
|
|
@@ -1434,6 +1426,7 @@ declare namespace strategy {
|
|
|
1434
1426
|
MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
|
|
1435
1427
|
MEDIA_ERR_URL_EMPTY: string;
|
|
1436
1428
|
DRM: string;
|
|
1429
|
+
DRM_LICENSE: string;
|
|
1437
1430
|
OTHER: string;
|
|
1438
1431
|
RUNTIME: string;
|
|
1439
1432
|
MODULE_LOAD_ERROR: string;
|
|
@@ -1493,6 +1486,7 @@ declare namespace strategy {
|
|
|
1493
1486
|
MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
|
|
1494
1487
|
MEDIA_ERR_URL_EMPTY: string;
|
|
1495
1488
|
DRM: string;
|
|
1489
|
+
DRM_LICENSE: string;
|
|
1496
1490
|
OTHER: string;
|
|
1497
1491
|
RUNTIME: string;
|
|
1498
1492
|
MODULE_LOAD_ERROR: string;
|
|
@@ -1581,7 +1575,7 @@ declare namespace strategy {
|
|
|
1581
1575
|
* @list option
|
|
1582
1576
|
* @kind property
|
|
1583
1577
|
* @id Definition
|
|
1584
|
-
* @
|
|
1578
|
+
* @alias Definition
|
|
1585
1579
|
*
|
|
1586
1580
|
*/
|
|
1587
1581
|
interface ExposedDefinition {
|
|
@@ -1591,7 +1585,7 @@ declare namespace strategy {
|
|
|
1591
1585
|
*/
|
|
1592
1586
|
url: string;
|
|
1593
1587
|
/** {zh}
|
|
1594
|
-
* @brief
|
|
1588
|
+
* @brief 清晰度标识(唯一值)。
|
|
1595
1589
|
* @default 无
|
|
1596
1590
|
*
|
|
1597
1591
|
*/
|
|
@@ -1610,14 +1604,13 @@ declare namespace strategy {
|
|
|
1610
1604
|
}
|
|
1611
1605
|
/**
|
|
1612
1606
|
* @list option
|
|
1613
|
-
* @brief 线路数据配置。一个线路包含当前线路的 name ,展示名称,及线路下的清晰度列表。
|
|
1614
1607
|
* @kind property
|
|
1615
1608
|
* @id Source
|
|
1616
|
-
* @
|
|
1609
|
+
* @alias Source
|
|
1617
1610
|
*/
|
|
1618
1611
|
interface ExposedSource {
|
|
1619
1612
|
/** {zh}
|
|
1620
|
-
* @brief
|
|
1613
|
+
* @brief 线路标识(唯一值)。
|
|
1621
1614
|
* @default 无
|
|
1622
1615
|
*/
|
|
1623
1616
|
name?: string;
|
|
@@ -2029,13 +2022,15 @@ declare namespace strategy {
|
|
|
2029
2022
|
const ERROR_INFO: Partial<Record<ErrorCode, ErrorInfo>>;
|
|
2030
2023
|
const ERROR_TYPE_INFO: Record<ErrorType, ErrorInfo>;
|
|
2031
2024
|
/**
|
|
2025
|
+
* @list error
|
|
2032
2026
|
* @detail error
|
|
2033
|
-
* @
|
|
2034
|
-
* @
|
|
2027
|
+
* @brief 错误对象
|
|
2028
|
+
* @name VeError
|
|
2029
|
+
* @id VeError
|
|
2035
2030
|
*/
|
|
2036
2031
|
class VeError<T extends string = TextKey> extends Error {
|
|
2037
2032
|
/**
|
|
2038
|
-
* @brief 错误码,对应[错误码字典](
|
|
2033
|
+
* @brief 错误码,对应[错误码字典](#ErrorCode)。
|
|
2039
2034
|
*/
|
|
2040
2035
|
readonly errorCode: ErrorCode;
|
|
2041
2036
|
/**
|
|
@@ -2057,8 +2052,8 @@ declare namespace strategy {
|
|
|
2057
2052
|
*/
|
|
2058
2053
|
constructor(error?: string | ErrorInfo<T>, i18n?: VeI18n<T>);
|
|
2059
2054
|
}
|
|
2060
|
-
function create(errorCode: ErrorCode, info?: ErrorInfo, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
2061
|
-
function transform(xgErr: XGError, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
2055
|
+
function create(errorCode: ErrorCode, info?: ErrorInfo, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "DRM_LICENSE" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
2056
|
+
function transform(xgErr: XGError, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "DRM_LICENSE" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
2062
2057
|
/**
|
|
2063
2058
|
* @list option
|
|
2064
2059
|
* @kind property
|
|
@@ -2151,7 +2146,7 @@ declare namespace strategy {
|
|
|
2151
2146
|
needFallback?: boolean;
|
|
2152
2147
|
/** {zh}
|
|
2153
2148
|
* @brief 降级顺序,按照数组顺序依次降级,数组中的元素与 playlist 中的 definition 相对应。
|
|
2154
|
-
* @default
|
|
2149
|
+
* @default ['uhd', 'hd', 'sd', 'ld', 'ao']
|
|
2155
2150
|
*/
|
|
2156
2151
|
demotePriority?: string[];
|
|
2157
2152
|
}
|
|
@@ -2327,7 +2322,6 @@ declare namespace strategy {
|
|
|
2327
2322
|
* @brief 为播放器设置是否显示全屏功能按钮,并进行全屏功能设置。
|
|
2328
2323
|
* - `true`:显示;
|
|
2329
2324
|
* - `false`:不显示。
|
|
2330
|
-
* @default -
|
|
2331
2325
|
*/
|
|
2332
2326
|
fullscreen?: boolean | Fullscreen;
|
|
2333
2327
|
/** {zh}
|
|
@@ -2357,11 +2351,12 @@ declare namespace strategy {
|
|
|
2357
2351
|
/** {zh}
|
|
2358
2352
|
* @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
|
|
2359
2353
|
* - `true`:启用,表示视频将在页面文档内播放;
|
|
2360
|
-
* - `false
|
|
2354
|
+
* - `false`:停用,默认浏览器播放行为。</br>
|
|
2355
|
+
*
|
|
2361
2356
|
* 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
|
|
2362
2357
|
* @listtip
|
|
2363
|
-
* iOS 10 及以上系统 Safari
|
|
2364
|
-
* iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
|
|
2358
|
+
* - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
|
|
2359
|
+
* - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
|
|
2365
2360
|
* @default true
|
|
2366
2361
|
*/
|
|
2367
2362
|
playsinline?: boolean;
|
|
@@ -2378,8 +2373,8 @@ declare namespace strategy {
|
|
|
2378
2373
|
* - `false`:停用
|
|
2379
2374
|
* @listtip
|
|
2380
2375
|
* 启用流式布局时:
|
|
2381
|
-
* 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
|
|
2382
|
-
* 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
|
|
2376
|
+
* - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
|
|
2377
|
+
* - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
|
|
2383
2378
|
* @default false
|
|
2384
2379
|
*/
|
|
2385
2380
|
fluid?: boolean;
|
|
@@ -2453,22 +2448,22 @@ declare namespace strategy {
|
|
|
2453
2448
|
interface Fullscreen {
|
|
2454
2449
|
/** {zh}
|
|
2455
2450
|
* @brief 切换全屏时,是否旋转为横屏播放,通常在移动端使用。如果开启横屏播放,切换全屏时,将在竖屏状态下把播放器旋转 90 度,实现横屏效果。该配置优先级高于 useCssFullscreen。
|
|
2456
|
-
* `true`:使用旋转横屏;
|
|
2457
|
-
* `false`:不使用旋转横屏。
|
|
2451
|
+
* - `true`:使用旋转横屏;
|
|
2452
|
+
* - `false`:不使用旋转横屏。
|
|
2458
2453
|
* @default false
|
|
2459
2454
|
*/
|
|
2460
2455
|
rotateFullscreen?: boolean;
|
|
2461
2456
|
/** {zh}
|
|
2462
2457
|
* @brief 是否使用页面全屏代替系统全屏功能。
|
|
2463
|
-
* `true`:页面全屏;
|
|
2464
|
-
* `false`:系统全屏。
|
|
2458
|
+
* - `true`:页面全屏;
|
|
2459
|
+
* - `false`:系统全屏。
|
|
2465
2460
|
* @default false
|
|
2466
2461
|
*/
|
|
2467
2462
|
useCssFullscreen?: boolean;
|
|
2468
2463
|
/**{zh}
|
|
2469
2464
|
* 全屏的时候是否显示右上角返回按钮,通常在移动端开启。
|
|
2470
|
-
* `true`:显示;
|
|
2471
|
-
* `false`:不显示。
|
|
2465
|
+
* - `true`:显示;
|
|
2466
|
+
* - `false`:不显示。
|
|
2472
2467
|
* @default false
|
|
2473
2468
|
*/
|
|
2474
2469
|
needBackIcon?: boolean;
|
|
@@ -2520,11 +2515,11 @@ declare namespace strategy {
|
|
|
2520
2515
|
*/
|
|
2521
2516
|
enum Codec {
|
|
2522
2517
|
/** {zh}
|
|
2523
|
-
* @brief
|
|
2518
|
+
* @brief H.265 编码格式
|
|
2524
2519
|
*/
|
|
2525
2520
|
H265 = "h265",
|
|
2526
2521
|
/** {zh}
|
|
2527
|
-
* @brief
|
|
2522
|
+
* @brief H.264 编码格式
|
|
2528
2523
|
*/
|
|
2529
2524
|
H264 = "h264"
|
|
2530
2525
|
}
|
|
@@ -2547,18 +2542,6 @@ declare namespace strategy {
|
|
|
2547
2542
|
* @detail option
|
|
2548
2543
|
* @brief 解码方式。
|
|
2549
2544
|
* @example
|
|
2550
|
-
* ```js
|
|
2551
|
-
* VePlayer.createLivePlayer({
|
|
2552
|
-
* height: 360,
|
|
2553
|
-
* url: options.url,
|
|
2554
|
-
* }).then(function (veplayer) {
|
|
2555
|
-
* veplayer.on(VePlayer.live.Events.CANPLAY, function () {
|
|
2556
|
-
* console.log('监听到 canplay 事件')
|
|
2557
|
-
* });
|
|
2558
|
-
* }).catch(error => {
|
|
2559
|
-
* console.log('创建播放器失败,报错信息:', error);
|
|
2560
|
-
* });;
|
|
2561
|
-
* ```
|
|
2562
2545
|
*/
|
|
2563
2546
|
enum DecodeType {
|
|
2564
2547
|
/** {zh}
|
|
@@ -2580,6 +2563,7 @@ declare namespace strategy {
|
|
|
2580
2563
|
readonly "plugin:shaka": "veplayer.plugin.shaka.[env].[ext]";
|
|
2581
2564
|
readonly "plugin:rtm": "veplayer.plugin.rtm.[env].[ext]";
|
|
2582
2565
|
readonly "plugin:xgvideo": "veplayer.plugin.xgvideo.[env].[ext]";
|
|
2566
|
+
readonly "plugin:drm": "veplayer.plugin.drm.[env].[ext]";
|
|
2583
2567
|
};
|
|
2584
2568
|
const enum State {
|
|
2585
2569
|
Fetching = 0,
|
|
@@ -2608,7 +2592,8 @@ declare namespace strategy {
|
|
|
2608
2592
|
PluginHls = "plugin:hls",
|
|
2609
2593
|
PluginShaka = "plugin:shaka",
|
|
2610
2594
|
PluginRtm = "plugin:rtm",
|
|
2611
|
-
PluginXgvideo = "plugin:xgvideo"
|
|
2595
|
+
PluginXgvideo = "plugin:xgvideo",
|
|
2596
|
+
PluginDrm = "plugin:drm"
|
|
2612
2597
|
}
|
|
2613
2598
|
type ModulesMap = {
|
|
2614
2599
|
[DynamicModule.BizVod]: Exports;
|
|
@@ -2619,6 +2604,7 @@ declare namespace strategy {
|
|
|
2619
2604
|
[DynamicModule.PluginShaka]: Exports;
|
|
2620
2605
|
[DynamicModule.PluginRtm]: Exports;
|
|
2621
2606
|
[DynamicModule.PluginXgvideo]: Exports;
|
|
2607
|
+
[DynamicModule.PluginDrm]: Exports;
|
|
2622
2608
|
};
|
|
2623
2609
|
class Loader {
|
|
2624
2610
|
readonly modules: Record<string, Module>;
|
|
@@ -2631,14 +2617,20 @@ declare namespace strategy {
|
|
|
2631
2617
|
setModuleSystem(moduleSystem: ModuleSystem): void;
|
|
2632
2618
|
setBaseUrl(url: string): void;
|
|
2633
2619
|
load: <T extends DynamicModule>(name: T, src?: string) => Promise<ModulesMap[T]>;
|
|
2634
|
-
|
|
2620
|
+
registerPlugin: (name: string, exports: Exports) => Exports;
|
|
2621
|
+
register: (exports: Exports[]) => Exports[];
|
|
2635
2622
|
private _mount;
|
|
2636
2623
|
}
|
|
2637
|
-
const
|
|
2624
|
+
const registerPlugin: (name: string, exports: {
|
|
2638
2625
|
[x: string]: any;
|
|
2639
2626
|
}) => {
|
|
2640
2627
|
[x: string]: any;
|
|
2641
2628
|
};
|
|
2629
|
+
const register: (exports: {
|
|
2630
|
+
[x: string]: any;
|
|
2631
|
+
}[]) => {
|
|
2632
|
+
[x: string]: any;
|
|
2633
|
+
}[];
|
|
2642
2634
|
function setModuleSystem(moduleSystem: ModuleSystem): void;
|
|
2643
2635
|
function setBaseUrl(url: string): void;
|
|
2644
2636
|
function getBaseUrl(): string;
|
|
@@ -2689,6 +2681,7 @@ declare namespace error {
|
|
|
2689
2681
|
MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
|
|
2690
2682
|
MEDIA_ERR_URL_EMPTY: string;
|
|
2691
2683
|
DRM: string;
|
|
2684
|
+
DRM_LICENSE: string;
|
|
2692
2685
|
OTHER: string;
|
|
2693
2686
|
RUNTIME: string;
|
|
2694
2687
|
MODULE_LOAD_ERROR: string;
|
|
@@ -2748,6 +2741,7 @@ declare namespace error {
|
|
|
2748
2741
|
MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
|
|
2749
2742
|
MEDIA_ERR_URL_EMPTY: string;
|
|
2750
2743
|
DRM: string;
|
|
2744
|
+
DRM_LICENSE: string;
|
|
2751
2745
|
OTHER: string;
|
|
2752
2746
|
RUNTIME: string;
|
|
2753
2747
|
MODULE_LOAD_ERROR: string;
|
|
@@ -3032,13 +3026,15 @@ declare namespace error {
|
|
|
3032
3026
|
const ERROR_INFO: Partial<Record<ErrorCode, ErrorInfo>>;
|
|
3033
3027
|
const ERROR_TYPE_INFO: Record<ErrorType, ErrorInfo>;
|
|
3034
3028
|
/**
|
|
3029
|
+
* @list error
|
|
3035
3030
|
* @detail error
|
|
3036
|
-
* @
|
|
3037
|
-
* @
|
|
3031
|
+
* @brief 错误对象
|
|
3032
|
+
* @name VeError
|
|
3033
|
+
* @id VeError
|
|
3038
3034
|
*/
|
|
3039
3035
|
class VeError<T extends string = TextKey> extends Error {
|
|
3040
3036
|
/**
|
|
3041
|
-
* @brief 错误码,对应[错误码字典](
|
|
3037
|
+
* @brief 错误码,对应[错误码字典](#ErrorCode)。
|
|
3042
3038
|
*/
|
|
3043
3039
|
readonly errorCode: ErrorCode;
|
|
3044
3040
|
/**
|
|
@@ -3060,8 +3056,8 @@ declare namespace error {
|
|
|
3060
3056
|
*/
|
|
3061
3057
|
constructor(error?: string | ErrorInfo<T>, i18n?: VeI18n<T>);
|
|
3062
3058
|
}
|
|
3063
|
-
function create(errorCode: ErrorCode, info?: ErrorInfo, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
3064
|
-
function transform(xgErr: XGError, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
3059
|
+
function create(errorCode: ErrorCode, info?: ErrorInfo, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "DRM_LICENSE" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
3060
|
+
function transform(xgErr: XGError, i18n?: VeI18n): VeError<"DEFINITION_FALLBACK_TOAST" | "DEFINITION_SWITCHING" | "ERROR_REFRESH" | "UNMUTE" | "MANIFEST" | "NETWORK" | "NETWORK_TIMEOUT" | "NETWORK_FORBIDDEN" | "NETWORK_NOTFOUND" | "DEMUX" | "REMUX" | "MEDIA" | "MEDIA_ERR_CODEC_NOT_SUPPORTED" | "MEDIA_ERR_URL_EMPTY" | "DRM" | "DRM_LICENSE" | "OTHER" | "RUNTIME" | "MODULE_LOAD_ERROR" | "UNKNOWN" | "ERROR_TYPES" | "HAVE_NOTHING" | "HAVE_METADATA" | "HAVE_CURRENT_DATA" | "HAVE_FUTURE_DATA" | "HAVE_ENOUGH_DATA" | "NETWORK_EMPTY" | "NETWORK_IDLE" | "NETWORK_LOADING" | "NETWORK_NO_SOURCE" | "MEDIA_ERR_ABORTED" | "MEDIA_ERR_NETWORK" | "MEDIA_ERR_DECODE" | "MEDIA_ERR_SRC_NOT_SUPPORTED" | "REPLAY" | "ERROR" | "PLAY_TIPS" | "PAUSE_TIPS" | "PLAYNEXT_TIPS" | "DOWNLOAD_TIPS" | "ROTATE_TIPS" | "RELOAD_TIPS" | "FULLSCREEN_TIPS" | "EXITFULLSCREEN_TIPS" | "CSSFULLSCREEN_TIPS" | "EXITCSSFULLSCREEN_TIPS" | "TEXTTRACK" | "PIP" | "SCREENSHOT" | "LIVE" | "OFF" | "OPEN" | "MINI_DRAG" | "MINISCREEN" | "REFRESH_TIPS" | "REFRESH" | "FORWARD" | "LIVE_TIP">;
|
|
3065
3061
|
}
|
|
3066
3062
|
declare namespace event {
|
|
3067
3063
|
const BaseEvents: {
|