@volcengine/veplayer 2.2.1-rc.0 → 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.
Files changed (43) hide show
  1. package/LICENSE +20 -0
  2. package/esm/index.d.ts +84 -88
  3. package/esm/veplayer.biz.live.development.js +104 -27
  4. package/esm/veplayer.biz.live.production.js +1 -1
  5. package/esm/veplayer.d.ts +327 -178
  6. package/esm/veplayer.development.css +1 -1
  7. package/esm/veplayer.development.js +457 -142
  8. package/esm/veplayer.live.d.ts +327 -178
  9. package/esm/veplayer.live.development.css +1 -1
  10. package/esm/veplayer.live.development.js +457 -142
  11. package/esm/veplayer.live.production.css +1 -1
  12. package/esm/veplayer.live.production.js +3 -3
  13. package/esm/veplayer.production.css +1 -1
  14. package/esm/veplayer.production.js +3 -3
  15. package/esm/veplayer.vod.d.ts +84 -88
  16. package/esm/veplayer.vod.development.css +1 -1
  17. package/esm/veplayer.vod.development.js +366 -125
  18. package/esm/veplayer.vod.production.css +1 -1
  19. package/esm/veplayer.vod.production.js +2 -2
  20. package/package.json +1 -1
  21. package/umd/index.d.ts +84 -88
  22. package/umd/veplayer.biz.live.development.js +107 -30
  23. package/umd/veplayer.biz.live.production.js +1 -1
  24. package/umd/veplayer.biz.vod.development.js +3 -2
  25. package/umd/veplayer.biz.vod.production.js +1 -1
  26. package/umd/veplayer.d.ts +327 -178
  27. package/umd/veplayer.development.css +1 -1
  28. package/umd/veplayer.development.js +456 -141
  29. package/umd/veplayer.live.d.ts +327 -178
  30. package/umd/veplayer.live.development.css +1 -1
  31. package/umd/veplayer.live.development.js +459 -144
  32. package/umd/veplayer.live.production.css +1 -1
  33. package/umd/veplayer.live.production.js +1 -1
  34. package/umd/veplayer.production.css +1 -1
  35. package/umd/veplayer.production.js +1 -1
  36. package/umd/veplayer.vod.d.ts +84 -88
  37. package/umd/veplayer.vod.development.css +1 -1
  38. package/umd/veplayer.vod.development.js +371 -130
  39. package/umd/veplayer.vod.production.css +1 -1
  40. package/umd/veplayer.vod.production.js +1 -1
  41. package/veplayer.d.ts +327 -178
  42. package/veplayer.live.d.ts +327 -178
  43. package/veplayer.vod.d.ts +84 -88
package/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
- * @name Definition
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
- * @name Source
148
+ * @alias Source
149
149
  */
150
150
  interface ExposedSource {
151
151
  /** {zh}
152
- * @brief 线路name(唯一值)。
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
- * @name 错误对象
567
- * @id 错误对象
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 "['uhd', 'hd', 'sd', 'ld', 'ao']"
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 浏览器支持配置内联播放模式;</br>
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 h265 编码格式
997
+ * @brief H.265 编码格式
996
998
  */
997
999
  H265 = "h265",
998
1000
  /** {zh}
999
- * @brief h264 编码格式
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: (name: string, exports: {
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
- * @name Definition
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
- * @name Source
1609
+ * @alias Source
1617
1610
  */
1618
1611
  interface ExposedSource {
1619
1612
  /** {zh}
1620
- * @brief 线路name(唯一值)。
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
- * @name 错误对象
2034
- * @id 错误对象
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 "['uhd', 'hd', 'sd', 'ld', 'ao']"
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 浏览器支持配置内联播放模式;</br>
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 h265 编码格式
2518
+ * @brief H.265 编码格式
2524
2519
  */
2525
2520
  H265 = "h265",
2526
2521
  /** {zh}
2527
- * @brief h264 编码格式
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
- register: (name: string, exports: Exports) => Exports;
2620
+ registerPlugin: (name: string, exports: Exports) => Exports;
2621
+ register: (exports: Exports[]) => Exports[];
2635
2622
  private _mount;
2636
2623
  }
2637
- const register: (name: string, exports: {
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
- * @name 错误对象
3037
- * @id 错误对象
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: {