@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.d.ts CHANGED
@@ -38,6 +38,7 @@ declare const EN: {
38
38
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
39
39
  MEDIA_ERR_URL_EMPTY: string;
40
40
  DRM: string;
41
+ DRM_LICENSE: string;
41
42
  OTHER: string;
42
43
  RUNTIME: string;
43
44
  MODULE_LOAD_ERROR: string;
@@ -97,6 +98,7 @@ declare const ZH_CN: {
97
98
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
98
99
  MEDIA_ERR_URL_EMPTY: string;
99
100
  DRM: string;
101
+ DRM_LICENSE: string;
100
102
  OTHER: string;
101
103
  RUNTIME: string;
102
104
  MODULE_LOAD_ERROR: string;
@@ -184,7 +186,7 @@ declare class Definition implements XGDefinition {
184
186
  * @list option
185
187
  * @kind property
186
188
  * @id Definition
187
- * @name Definition
189
+ * @alias Definition
188
190
  *
189
191
  */
190
192
  interface ExposedDefinition {
@@ -194,7 +196,7 @@ interface ExposedDefinition {
194
196
  */
195
197
  url: string;
196
198
  /** {zh}
197
- * @brief 清晰度(唯一值)。
199
+ * @brief 清晰度标识(唯一值)。
198
200
  * @default 无
199
201
  *
200
202
  */
@@ -213,14 +215,13 @@ interface ExposedDefinition {
213
215
  }
214
216
  /**
215
217
  * @list option
216
- * @brief 线路数据配置。一个线路包含当前线路的 name ,展示名称,及线路下的清晰度列表。
217
218
  * @kind property
218
219
  * @id Source
219
- * @name Source
220
+ * @alias Source
220
221
  */
221
222
  interface ExposedSource {
222
223
  /** {zh}
223
- * @brief 线路name(唯一值)。
224
+ * @brief 线路标识(唯一值)。
224
225
  * @default 无
225
226
  */
226
227
  name?: string;
@@ -633,13 +634,15 @@ interface ErrorInfo<T = TextKey> {
633
634
  error?: Error;
634
635
  }
635
636
  /**
637
+ * @list error
636
638
  * @detail error
637
- * @name 错误对象
638
- * @id 错误对象
639
+ * @brief 错误对象
640
+ * @name VeError
641
+ * @id VeError
639
642
  */
640
643
  declare class VeError<T extends string = TextKey> extends Error {
641
644
  /**
642
- * @brief 错误码,对应[错误码字典](#错误码)。
645
+ * @brief 错误码,对应[错误码字典](#ErrorCode)。
643
646
  */
644
647
  readonly errorCode: ErrorCode;
645
648
  /**
@@ -753,7 +756,7 @@ interface DefinitionConfig {
753
756
  needFallback?: boolean;
754
757
  /** {zh}
755
758
  * @brief 降级顺序,按照数组顺序依次降级,数组中的元素与 playlist 中的 definition 相对应。
756
- * @default "['uhd', 'hd', 'sd', 'ld', 'ao']"
759
+ * @default ['uhd', 'hd', 'sd', 'ld', 'ao']
757
760
  */
758
761
  demotePriority?: string[];
759
762
  }
@@ -929,7 +932,6 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
929
932
  * @brief 为播放器设置是否显示全屏功能按钮,并进行全屏功能设置。
930
933
  * - `true`:显示;
931
934
  * - `false`:不显示。
932
- * @default -
933
935
  */
934
936
  fullscreen?: boolean | Fullscreen;
935
937
  /** {zh}
@@ -959,11 +961,12 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
959
961
  /** {zh}
960
962
  * @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
961
963
  * - `true`:启用,表示视频将在页面文档内播放;
962
- * - `false`:停用,默认浏览器播放行为。
964
+ * - `false`:停用,默认浏览器播放行为。</br>
965
+ *
963
966
  * 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
964
967
  * @listtip
965
- * iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;</br>
966
- * iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
968
+ * - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
969
+ * - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
967
970
  * @default true
968
971
  */
969
972
  playsinline?: boolean;
@@ -980,8 +983,8 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
980
983
  * - `false`:停用
981
984
  * @listtip
982
985
  * 启用流式布局时:
983
- * 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
984
- * 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
986
+ * - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
987
+ * - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
985
988
  * @default false
986
989
  */
987
990
  fluid?: boolean;
@@ -1055,22 +1058,22 @@ interface VePlayerBaseOptions extends Omit<PlayerOptions, "autoplay" | "i18n"> {
1055
1058
  interface Fullscreen {
1056
1059
  /** {zh}
1057
1060
  * @brief 切换全屏时,是否旋转为横屏播放,通常在移动端使用。如果开启横屏播放,切换全屏时,将在竖屏状态下把播放器旋转 90 度,实现横屏效果。该配置优先级高于 useCssFullscreen。
1058
- * `true`:使用旋转横屏;
1059
- * `false`:不使用旋转横屏。
1061
+ * - `true`:使用旋转横屏;
1062
+ * - `false`:不使用旋转横屏。
1060
1063
  * @default false
1061
1064
  */
1062
1065
  rotateFullscreen?: boolean;
1063
1066
  /** {zh}
1064
1067
  * @brief 是否使用页面全屏代替系统全屏功能。
1065
- * `true`:页面全屏;
1066
- * `false`:系统全屏。
1068
+ * - `true`:页面全屏;
1069
+ * - `false`:系统全屏。
1067
1070
  * @default false
1068
1071
  */
1069
1072
  useCssFullscreen?: boolean;
1070
1073
  /**{zh}
1071
1074
  * 全屏的时候是否显示右上角返回按钮,通常在移动端开启。
1072
- * `true`:显示;
1073
- * `false`:不显示。
1075
+ * - `true`:显示;
1076
+ * - `false`:不显示。
1074
1077
  * @default false
1075
1078
  */
1076
1079
  needBackIcon?: boolean;
@@ -1122,11 +1125,11 @@ type PreparePlugins = (url: string) => Promise<PrepareResult> | undefined;
1122
1125
  */
1123
1126
  declare enum Codec {
1124
1127
  /** {zh}
1125
- * @brief h265 编码格式
1128
+ * @brief H.265 编码格式
1126
1129
  */
1127
1130
  H265 = "h265",
1128
1131
  /** {zh}
1129
- * @brief h264 编码格式
1132
+ * @brief H.264 编码格式
1130
1133
  */
1131
1134
  H264 = "h264"
1132
1135
  }
@@ -1149,18 +1152,6 @@ declare enum Degradation {
1149
1152
  * @detail option
1150
1153
  * @brief 解码方式。
1151
1154
  * @example
1152
- * ```js
1153
- * VePlayer.createLivePlayer({
1154
- * height: 360,
1155
- * url: options.url,
1156
- * }).then(function (veplayer) {
1157
- * veplayer.on(VePlayer.live.Events.CANPLAY, function () {
1158
- * console.log('监听到 canplay 事件')
1159
- * });
1160
- * }).catch(error => {
1161
- * console.log('创建播放器失败,报错信息:', error);
1162
- * });;
1163
- * ```
1164
1155
  */
1165
1156
  declare enum DecodeType {
1166
1157
  /** {zh}
@@ -1388,13 +1379,13 @@ declare class VePlayerBase {
1388
1379
  /**
1389
1380
  * @brief 调用此方法监听指定事件,事件处理函数只执行一次。
1390
1381
  * @param event 表示事件的名称。
1391
- * @param callback 表示事件的名称。
1382
+ * @param callback 表示事件的回调函数。
1392
1383
  */
1393
1384
  once(event: string, callback: (data?: any) => any): void;
1394
1385
  /**
1395
1386
  * @brief 调用此方法解绑或移除指定事件的事件监听。
1396
1387
  * @param event 表示事件的名称。
1397
- * @param callback 表示事件的名称。
1388
+ * @param callback 表示事件的回调函数。
1398
1389
  */
1399
1390
  off(event: string, callback: (data?: any) => any): void;
1400
1391
  /**
@@ -1409,8 +1400,8 @@ declare class VePlayerBase {
1409
1400
  offAll(): void;
1410
1401
  /**
1411
1402
  * @brief 调用此方法监听指定事件。
1412
- * @param event 事件。
1413
- * @param callback 事件回调。
1403
+ * @param event 表示事件名称。
1404
+ * @param callback 表示事件的回调函数。
1414
1405
  */
1415
1406
  on(event: string, callback: (data?: any) => any): void;
1416
1407
  /**
@@ -1563,7 +1554,8 @@ declare enum DynamicModule {
1563
1554
  PluginHls = "plugin:hls",
1564
1555
  PluginShaka = "plugin:shaka",
1565
1556
  PluginRtm = "plugin:rtm",
1566
- PluginXgvideo = "plugin:xgvideo"
1557
+ PluginXgvideo = "plugin:xgvideo",
1558
+ PluginDrm = "plugin:drm"
1567
1559
  }
1568
1560
  type ModulesMap = {
1569
1561
  [DynamicModule.BizVod]: Exports;
@@ -1574,12 +1566,18 @@ type ModulesMap = {
1574
1566
  [DynamicModule.PluginShaka]: Exports;
1575
1567
  [DynamicModule.PluginRtm]: Exports;
1576
1568
  [DynamicModule.PluginXgvideo]: Exports;
1569
+ [DynamicModule.PluginDrm]: Exports;
1577
1570
  };
1578
- declare const register: (name: string, exports: {
1571
+ declare const registerPlugin: (name: string, exports: {
1579
1572
  [x: string]: any;
1580
1573
  }) => {
1581
1574
  [x: string]: any;
1582
1575
  };
1576
+ declare const register: (exports: {
1577
+ [x: string]: any;
1578
+ }[]) => {
1579
+ [x: string]: any;
1580
+ }[];
1583
1581
  declare function load<T extends DynamicModule>(name: T, src?: string): Promise<ModulesMap[T]>;
1584
1582
  declare module MobilePlayerPanelWrapper {
1585
1583
  export { MobilePlayerPanel };
@@ -1601,6 +1599,7 @@ declare namespace strategy {
1601
1599
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
1602
1600
  MEDIA_ERR_URL_EMPTY: string;
1603
1601
  DRM: string;
1602
+ DRM_LICENSE: string;
1604
1603
  OTHER: string;
1605
1604
  RUNTIME: string;
1606
1605
  MODULE_LOAD_ERROR: string;
@@ -1660,6 +1659,7 @@ declare namespace strategy {
1660
1659
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
1661
1660
  MEDIA_ERR_URL_EMPTY: string;
1662
1661
  DRM: string;
1662
+ DRM_LICENSE: string;
1663
1663
  OTHER: string;
1664
1664
  RUNTIME: string;
1665
1665
  MODULE_LOAD_ERROR: string;
@@ -1748,7 +1748,7 @@ declare namespace strategy {
1748
1748
  * @list option
1749
1749
  * @kind property
1750
1750
  * @id Definition
1751
- * @name Definition
1751
+ * @alias Definition
1752
1752
  *
1753
1753
  */
1754
1754
  interface ExposedDefinition {
@@ -1758,7 +1758,7 @@ declare namespace strategy {
1758
1758
  */
1759
1759
  url: string;
1760
1760
  /** {zh}
1761
- * @brief 清晰度(唯一值)。
1761
+ * @brief 清晰度标识(唯一值)。
1762
1762
  * @default 无
1763
1763
  *
1764
1764
  */
@@ -1777,14 +1777,13 @@ declare namespace strategy {
1777
1777
  }
1778
1778
  /**
1779
1779
  * @list option
1780
- * @brief 线路数据配置。一个线路包含当前线路的 name ,展示名称,及线路下的清晰度列表。
1781
1780
  * @kind property
1782
1781
  * @id Source
1783
- * @name Source
1782
+ * @alias Source
1784
1783
  */
1785
1784
  interface ExposedSource {
1786
1785
  /** {zh}
1787
- * @brief 线路name(唯一值)。
1786
+ * @brief 线路标识(唯一值)。
1788
1787
  * @default 无
1789
1788
  */
1790
1789
  name?: string;
@@ -2196,13 +2195,15 @@ declare namespace strategy {
2196
2195
  const ERROR_INFO: Partial<Record<ErrorCode, ErrorInfo>>;
2197
2196
  const ERROR_TYPE_INFO: Record<ErrorType, ErrorInfo>;
2198
2197
  /**
2198
+ * @list error
2199
2199
  * @detail error
2200
- * @name 错误对象
2201
- * @id 错误对象
2200
+ * @brief 错误对象
2201
+ * @name VeError
2202
+ * @id VeError
2202
2203
  */
2203
2204
  class VeError<T extends string = TextKey> extends Error {
2204
2205
  /**
2205
- * @brief 错误码,对应[错误码字典](#错误码)。
2206
+ * @brief 错误码,对应[错误码字典](#ErrorCode)。
2206
2207
  */
2207
2208
  readonly errorCode: ErrorCode;
2208
2209
  /**
@@ -2224,8 +2225,8 @@ declare namespace strategy {
2224
2225
  */
2225
2226
  constructor(error?: string | ErrorInfo<T>, i18n?: VeI18n<T>);
2226
2227
  }
2227
- 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">;
2228
- 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">;
2228
+ 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">;
2229
+ 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">;
2229
2230
  /**
2230
2231
  * @list option
2231
2232
  * @kind property
@@ -2318,7 +2319,7 @@ declare namespace strategy {
2318
2319
  needFallback?: boolean;
2319
2320
  /** {zh}
2320
2321
  * @brief 降级顺序,按照数组顺序依次降级,数组中的元素与 playlist 中的 definition 相对应。
2321
- * @default "['uhd', 'hd', 'sd', 'ld', 'ao']"
2322
+ * @default ['uhd', 'hd', 'sd', 'ld', 'ao']
2322
2323
  */
2323
2324
  demotePriority?: string[];
2324
2325
  }
@@ -2494,7 +2495,6 @@ declare namespace strategy {
2494
2495
  * @brief 为播放器设置是否显示全屏功能按钮,并进行全屏功能设置。
2495
2496
  * - `true`:显示;
2496
2497
  * - `false`:不显示。
2497
- * @default -
2498
2498
  */
2499
2499
  fullscreen?: boolean | Fullscreen;
2500
2500
  /** {zh}
@@ -2524,11 +2524,12 @@ declare namespace strategy {
2524
2524
  /** {zh}
2525
2525
  * @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
2526
2526
  * - `true`:启用,表示视频将在页面文档内播放;
2527
- * - `false`:停用,默认浏览器播放行为。
2527
+ * - `false`:停用,默认浏览器播放行为。</br>
2528
+ *
2528
2529
  * 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
2529
2530
  * @listtip
2530
- * iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;</br>
2531
- * iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
2531
+ * - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
2532
+ * - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
2532
2533
  * @default true
2533
2534
  */
2534
2535
  playsinline?: boolean;
@@ -2545,8 +2546,8 @@ declare namespace strategy {
2545
2546
  * - `false`:停用
2546
2547
  * @listtip
2547
2548
  * 启用流式布局时:
2548
- * 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
2549
- * 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
2549
+ * - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
2550
+ * - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
2550
2551
  * @default false
2551
2552
  */
2552
2553
  fluid?: boolean;
@@ -2620,22 +2621,22 @@ declare namespace strategy {
2620
2621
  interface Fullscreen {
2621
2622
  /** {zh}
2622
2623
  * @brief 切换全屏时,是否旋转为横屏播放,通常在移动端使用。如果开启横屏播放,切换全屏时,将在竖屏状态下把播放器旋转 90 度,实现横屏效果。该配置优先级高于 useCssFullscreen。
2623
- * `true`:使用旋转横屏;
2624
- * `false`:不使用旋转横屏。
2624
+ * - `true`:使用旋转横屏;
2625
+ * - `false`:不使用旋转横屏。
2625
2626
  * @default false
2626
2627
  */
2627
2628
  rotateFullscreen?: boolean;
2628
2629
  /** {zh}
2629
2630
  * @brief 是否使用页面全屏代替系统全屏功能。
2630
- * `true`:页面全屏;
2631
- * `false`:系统全屏。
2631
+ * - `true`:页面全屏;
2632
+ * - `false`:系统全屏。
2632
2633
  * @default false
2633
2634
  */
2634
2635
  useCssFullscreen?: boolean;
2635
2636
  /**{zh}
2636
2637
  * 全屏的时候是否显示右上角返回按钮,通常在移动端开启。
2637
- * `true`:显示;
2638
- * `false`:不显示。
2638
+ * - `true`:显示;
2639
+ * - `false`:不显示。
2639
2640
  * @default false
2640
2641
  */
2641
2642
  needBackIcon?: boolean;
@@ -2687,11 +2688,11 @@ declare namespace strategy {
2687
2688
  */
2688
2689
  enum Codec {
2689
2690
  /** {zh}
2690
- * @brief h265 编码格式
2691
+ * @brief H.265 编码格式
2691
2692
  */
2692
2693
  H265 = "h265",
2693
2694
  /** {zh}
2694
- * @brief h264 编码格式
2695
+ * @brief H.264 编码格式
2695
2696
  */
2696
2697
  H264 = "h264"
2697
2698
  }
@@ -2714,18 +2715,6 @@ declare namespace strategy {
2714
2715
  * @detail option
2715
2716
  * @brief 解码方式。
2716
2717
  * @example
2717
- * ```js
2718
- * VePlayer.createLivePlayer({
2719
- * height: 360,
2720
- * url: options.url,
2721
- * }).then(function (veplayer) {
2722
- * veplayer.on(VePlayer.live.Events.CANPLAY, function () {
2723
- * console.log('监听到 canplay 事件')
2724
- * });
2725
- * }).catch(error => {
2726
- * console.log('创建播放器失败,报错信息:', error);
2727
- * });;
2728
- * ```
2729
2718
  */
2730
2719
  enum DecodeType {
2731
2720
  /** {zh}
@@ -2747,6 +2736,7 @@ declare namespace strategy {
2747
2736
  readonly "plugin:shaka": "veplayer.plugin.shaka.[env].[ext]";
2748
2737
  readonly "plugin:rtm": "veplayer.plugin.rtm.[env].[ext]";
2749
2738
  readonly "plugin:xgvideo": "veplayer.plugin.xgvideo.[env].[ext]";
2739
+ readonly "plugin:drm": "veplayer.plugin.drm.[env].[ext]";
2750
2740
  };
2751
2741
  const enum State {
2752
2742
  Fetching = 0,
@@ -2775,7 +2765,8 @@ declare namespace strategy {
2775
2765
  PluginHls = "plugin:hls",
2776
2766
  PluginShaka = "plugin:shaka",
2777
2767
  PluginRtm = "plugin:rtm",
2778
- PluginXgvideo = "plugin:xgvideo"
2768
+ PluginXgvideo = "plugin:xgvideo",
2769
+ PluginDrm = "plugin:drm"
2779
2770
  }
2780
2771
  type ModulesMap = {
2781
2772
  [DynamicModule.BizVod]: Exports;
@@ -2786,6 +2777,7 @@ declare namespace strategy {
2786
2777
  [DynamicModule.PluginShaka]: Exports;
2787
2778
  [DynamicModule.PluginRtm]: Exports;
2788
2779
  [DynamicModule.PluginXgvideo]: Exports;
2780
+ [DynamicModule.PluginDrm]: Exports;
2789
2781
  };
2790
2782
  class Loader {
2791
2783
  readonly modules: Record<string, Module>;
@@ -2798,14 +2790,20 @@ declare namespace strategy {
2798
2790
  setModuleSystem(moduleSystem: ModuleSystem): void;
2799
2791
  setBaseUrl(url: string): void;
2800
2792
  load: <T extends DynamicModule>(name: T, src?: string) => Promise<ModulesMap[T]>;
2801
- register: (name: string, exports: Exports) => Exports;
2793
+ registerPlugin: (name: string, exports: Exports) => Exports;
2794
+ register: (exports: Exports[]) => Exports[];
2802
2795
  private _mount;
2803
2796
  }
2804
- const register: (name: string, exports: {
2797
+ const registerPlugin: (name: string, exports: {
2805
2798
  [x: string]: any;
2806
2799
  }) => {
2807
2800
  [x: string]: any;
2808
2801
  };
2802
+ const register: (exports: {
2803
+ [x: string]: any;
2804
+ }[]) => {
2805
+ [x: string]: any;
2806
+ }[];
2809
2807
  function setModuleSystem(moduleSystem: ModuleSystem): void;
2810
2808
  function setBaseUrl(url: string): void;
2811
2809
  function getBaseUrl(): string;
@@ -2848,7 +2846,7 @@ declare function getStreamType(url: string): "unknown" | "hls" | "flv" | "rtm" |
2848
2846
  * `Codec.H265`: 返回当前浏览器是否支持硬解播放 H265。
2849
2847
  * @returns
2850
2848
  */
2851
- declare function isMseSupported(codec?: Codec): boolean;
2849
+ declare function isMseSupported(codec?: string): boolean;
2852
2850
  /**
2853
2851
  * @detail api
2854
2852
  * @brief 当前浏览器是否支持软解
@@ -2909,7 +2907,7 @@ declare const util: {
2909
2907
  scrollLeft(): number;
2910
2908
  checkTouchSupport(): boolean;
2911
2909
  getBuffered2(vbuffered: any, maxHoleDuration?: number | undefined): import("xgplayer/es/utils/xgplayerTimeRange").default;
2912
- getEventPos(e: Events, zoom?: number | undefined): {
2910
+ getEventPos(e: Event, zoom?: number | undefined): {
2913
2911
  x: number;
2914
2912
  y: number;
2915
2913
  clientX: number;
@@ -2956,6 +2954,7 @@ declare namespace error {
2956
2954
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
2957
2955
  MEDIA_ERR_URL_EMPTY: string;
2958
2956
  DRM: string;
2957
+ DRM_LICENSE: string;
2959
2958
  OTHER: string;
2960
2959
  RUNTIME: string;
2961
2960
  MODULE_LOAD_ERROR: string;
@@ -3015,6 +3014,7 @@ declare namespace error {
3015
3014
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
3016
3015
  MEDIA_ERR_URL_EMPTY: string;
3017
3016
  DRM: string;
3017
+ DRM_LICENSE: string;
3018
3018
  OTHER: string;
3019
3019
  RUNTIME: string;
3020
3020
  MODULE_LOAD_ERROR: string;
@@ -3299,13 +3299,15 @@ declare namespace error {
3299
3299
  const ERROR_INFO: Partial<Record<ErrorCode, ErrorInfo>>;
3300
3300
  const ERROR_TYPE_INFO: Record<ErrorType, ErrorInfo>;
3301
3301
  /**
3302
+ * @list error
3302
3303
  * @detail error
3303
- * @name 错误对象
3304
- * @id 错误对象
3304
+ * @brief 错误对象
3305
+ * @name VeError
3306
+ * @id VeError
3305
3307
  */
3306
3308
  class VeError<T extends string = TextKey> extends Error {
3307
3309
  /**
3308
- * @brief 错误码,对应[错误码字典](#错误码)。
3310
+ * @brief 错误码,对应[错误码字典](#ErrorCode)。
3309
3311
  */
3310
3312
  readonly errorCode: ErrorCode;
3311
3313
  /**
@@ -3327,8 +3329,8 @@ declare namespace error {
3327
3329
  */
3328
3330
  constructor(error?: string | ErrorInfo<T>, i18n?: VeI18n<T>);
3329
3331
  }
3330
- 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">;
3331
- 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">;
3332
+ 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">;
3333
+ 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">;
3332
3334
  }
3333
3335
  declare namespace event {
3334
3336
  const BaseEvents: {
@@ -3596,14 +3598,14 @@ interface LoggerConfig {
3596
3598
  /** {zh}
3597
3599
  * @brief 用于识别单一用户的 ID,如不设置,会随机生成一个用户 ID 存在浏览器缓存中。
3598
3600
  * @listtip
3599
- * 建议您使用与业务相关的用户 ID,以便在发生播放错误事快速定位排查问题。
3601
+ * 建议您使用与业务相关的用户 ID,以便在发生播放错误时快速定位排查问题。
3600
3602
  * @default 无
3601
3603
  */
3602
3604
  userId?: string;
3603
3605
  /** {zh}
3604
3606
  * @brief 用于识别用户设备的 ID,如不设置,会随机生成一个用户 ID 存在浏览器缓存中。
3605
3607
  * @listtip
3606
- * 建议您使用与业务相关的用户设备 ID,以便在发生播放错误事快速定位排查问题。
3608
+ * 建议您使用与业务相关的用户设备 ID,以便在发生播放错误时快速定位排查问题。
3607
3609
  * @default 无
3608
3610
  */
3609
3611
  deviceId?: string;
@@ -3616,9 +3618,8 @@ interface LoggerConfig {
3616
3618
  /**
3617
3619
  * @list option
3618
3620
  * @kind property
3619
- * @id 配置
3620
- * @name 配置
3621
3621
  * @inheritdoc
3622
+ * @hiddenTitle
3622
3623
  */
3623
3624
  interface LiveVePlayerOptions extends VePlayerBaseOptions {
3624
3625
  /** {zh}
@@ -3633,7 +3634,7 @@ interface LiveVePlayerOptions extends VePlayerBaseOptions {
3633
3634
  flv?: Flv;
3634
3635
  /** {zh}
3635
3636
  * @brief 为播放器设置 HLS 拉流配置。HLS 格式流相关配置仅适用于支持 MSE 播放的 PC 端浏览器和安卓端浏览器。
3636
- * @default -
3637
+
3637
3638
  *
3638
3639
  * @listtip
3639
3640
  * - PC 端该配置默认生效;
@@ -3649,7 +3650,7 @@ interface LiveVePlayerOptions extends VePlayerBaseOptions {
3649
3650
  * @brief 为播放器设置直播时移配置,接入方法请参见[功能接入](https://www.volcengine.com/docs/6469/138655#直播时移)。
3650
3651
  * @default -
3651
3652
  */
3652
- // timeShift?: TimeShiftConfig;
3653
+ timeShift?: TimeShiftConfig;
3653
3654
  /** {zh}
3654
3655
  * @brief 日志上报配置,支持设置开启/关闭开始日志上报并设置日志参数,接入方法请参见[功能接入](https://www.volcengine.com/docs/6469/138655#日志上报)。
3655
3656
  * @default -
@@ -3665,20 +3666,79 @@ interface LiveVePlayerOptions extends VePlayerBaseOptions {
3665
3666
  * @default 无
3666
3667
  */
3667
3668
  icons?: any;
3669
+ /**
3670
+ * @brief 商业 DRM 播放配置。
3671
+ * @default -
3672
+ */
3673
+ drm?: Drm;
3674
+ }
3675
+ interface Drm {
3676
+ /**
3677
+ * @brief fairplay DRM 配置
3678
+ */
3679
+ fairplay?: FairplayDrm;
3680
+ }
3681
+ interface FairplayDrm extends FairplayDrmConfig {
3682
+ /**
3683
+ * @brief 获取 DRM 配置的方法,用于更新 DRM 配置。
3684
+ * @param config
3685
+ * @returns 证书的请求地址和内容密钥许可证的请求地址。
3686
+ */
3687
+ getDrmConfig?: (config: {
3688
+ url: string;
3689
+ }) => Promise<FairplayDrmConfig>;
3690
+ }
3691
+ interface FairplayDrmConfig {
3692
+ /**
3693
+ * @brief 获取证书的请求地址
3694
+ */
3695
+ serverCertificatePath?: string;
3696
+ /**
3697
+ * @brief 获取内容密钥许可证的请求地址
3698
+ */
3699
+ serverProcessSPCPath?: string;
3668
3700
  }
3669
3701
  declare enum RTMCodec {
3670
3702
  H264 = "h264"
3671
3703
  }
3672
3704
  /**
3673
- * @brief 为播放器设置 RTM 拉流配置。
3705
+ * @list option
3706
+ * @kind property
3707
+ */
3708
+ interface TimeShiftConfig {
3709
+ /** {zh}
3710
+ * @brief 直播开始时间,Unix 时间戳,单位为 s,需要传入浏览器本地时间。
3711
+ * @default Date.now() / 1000
3712
+ */
3713
+ liveStartTime?: number;
3714
+ /** {zh}
3715
+ * @brief 最大时移时间,单位为 s,取值范围为 [6,604800]。
3716
+ * @default 604800
3717
+ */
3718
+ maxShiftOffset?: number;
3719
+ /**
3720
+ * @hidden
3721
+ */
3722
+ currentTime?: number;
3723
+ /**
3724
+ * @hidden
3725
+ */
3726
+ position?: string;
3727
+ }
3728
+ /**
3674
3729
  * @list option
3675
3730
  * @kind property
3676
3731
  */
3677
3732
  interface Rtm {
3678
3733
  /** {zh}
3679
- * @brief 配置 RTM 拉流失败降级地址,可配置 FLV 拉流地址或 HLS 的拉流地址。
3680
- * - 指定 `fallbackUrl`:RTM 拉流建联失败时,降级到 `fallbackUrl` 拉流地址。
3681
- * - 未指定 `fallbackUrl`:RTM 拉流建联失败时,播放器会发送 error 报错。
3734
+ * @brief 当前环境不支持播放 RTM 或者 RTM 拉流播放失败时是否进行降级。
3735
+ * @default true
3736
+ */
3737
+ enableFallback?: boolean;
3738
+ /** {zh}
3739
+ * @brief 配置 RTM 拉流失败降级地址,可配置 FLV 拉流地址或 HLS 的拉流地址。`enableFallback` 为 `true` 时生效。
3740
+ * - 指定 `fallbackUrl`:当前环境不支持播放 RTM 或 RTM 拉流建联失败时,降级到 `fallbackUrl` 拉流地址。
3741
+ * - 未指定 `fallbackUrl`:当前环境不支持播放 RTM 或 RTM 拉流建联失败时,根据当前 RTM 地址降级到对应的 FLV 或者 HLS 地址。
3682
3742
  * @default 无
3683
3743
  */
3684
3744
  fallbackUrl?: string;
@@ -3698,12 +3758,11 @@ interface Rtm {
3698
3758
  */
3699
3759
  retryDelay?: number;
3700
3760
  /** {zh}
3701
- * @brief 是否开启自动降级。
3702
- * @default true
3703
- */
3704
- enableFallback?: boolean;
3705
- /** {zh}
3706
- * @brief 是否开启自动转码。
3761
+ * @brief 播放器发起 RTM 拉流请求时,是否开启自动转码。
3762
+ * - true:开启
3763
+ * - false:关闭
3764
+ * @listtip
3765
+ * 如有使用 RTM 拉流自动转码的需求,请先创建工单联系[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)进行配置。
3707
3766
  * @default false
3708
3767
  */
3709
3768
  enableRTMAutoTranscode?: boolean;
@@ -3728,7 +3787,17 @@ interface Flv {
3728
3787
  * @default 10000
3729
3788
  */
3730
3789
  loadTimeout?: number;
3790
+ /** {zh}
3791
+ * @brief 播放器发起 FLV 拉流请求时,是否开启低延时。例如,当您开启低延时且推流端 GOP 设置为 2s 的情况下,FLV 拉流平均端到端延时约为 2s。
3792
+ * - true:开启
3793
+ * - false:关闭
3794
+ * @default false
3795
+ */
3731
3796
  enableLowLatency?: boolean;
3797
+ /** {zh}
3798
+ * @hidden
3799
+ */
3800
+ abrPts?: string | number;
3732
3801
  }
3733
3802
  /**
3734
3803
  * @list option
@@ -3786,6 +3855,11 @@ declare class VePlayerLive extends VePlayerBase {
3786
3855
  *
3787
3856
  */
3788
3857
  closeInfoPanel(): void;
3858
+ /** {zh}
3859
+ * @brief 调用此方法更新 DRM 鉴权配置。
3860
+ * @hidden
3861
+ */
3862
+ updateDrmConfig(config: FairplayDrmConfig): void;
3789
3863
  }
3790
3864
  /**
3791
3865
  * @detail api
@@ -3841,6 +3915,7 @@ declare namespace live {
3841
3915
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
3842
3916
  MEDIA_ERR_URL_EMPTY: string;
3843
3917
  DRM: string;
3918
+ DRM_LICENSE: string;
3844
3919
  OTHER: string;
3845
3920
  RUNTIME: string;
3846
3921
  MODULE_LOAD_ERROR: string;
@@ -3900,6 +3975,7 @@ declare namespace live {
3900
3975
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
3901
3976
  MEDIA_ERR_URL_EMPTY: string;
3902
3977
  DRM: string;
3978
+ DRM_LICENSE: string;
3903
3979
  OTHER: string;
3904
3980
  RUNTIME: string;
3905
3981
  MODULE_LOAD_ERROR: string;
@@ -4184,13 +4260,15 @@ declare namespace live {
4184
4260
  const ERROR_INFO: Partial<Record<ErrorCode, ErrorInfo>>;
4185
4261
  const ERROR_TYPE_INFO: Record<ErrorType, ErrorInfo>;
4186
4262
  /**
4263
+ * @list error
4187
4264
  * @detail error
4188
- * @name 错误对象
4189
- * @id 错误对象
4265
+ * @brief 错误对象
4266
+ * @name VeError
4267
+ * @id VeError
4190
4268
  */
4191
4269
  class VeError<T extends string = TextKey> extends Error {
4192
4270
  /**
4193
- * @brief 错误码,对应[错误码字典](#错误码)。
4271
+ * @brief 错误码,对应[错误码字典](#ErrorCode)。
4194
4272
  */
4195
4273
  readonly errorCode: ErrorCode;
4196
4274
  /**
@@ -4212,8 +4290,8 @@ declare namespace live {
4212
4290
  */
4213
4291
  constructor(error?: string | ErrorInfo<T>, i18n?: VeI18n<T>);
4214
4292
  }
4215
- 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">;
4216
- 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">;
4293
+ 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">;
4294
+ 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">;
4217
4295
  interface DefinitionUrl {
4218
4296
  url: string;
4219
4297
  next: DefinitionUrl | null;
@@ -4241,7 +4319,7 @@ declare namespace live {
4241
4319
  * @list option
4242
4320
  * @kind property
4243
4321
  * @id Definition
4244
- * @name Definition
4322
+ * @alias Definition
4245
4323
  *
4246
4324
  */
4247
4325
  interface ExposedDefinition {
@@ -4251,7 +4329,7 @@ declare namespace live {
4251
4329
  */
4252
4330
  url: string;
4253
4331
  /** {zh}
4254
- * @brief 清晰度(唯一值)。
4332
+ * @brief 清晰度标识(唯一值)。
4255
4333
  * @default 无
4256
4334
  *
4257
4335
  */
@@ -4270,14 +4348,13 @@ declare namespace live {
4270
4348
  }
4271
4349
  /**
4272
4350
  * @list option
4273
- * @brief 线路数据配置。一个线路包含当前线路的 name ,展示名称,及线路下的清晰度列表。
4274
4351
  * @kind property
4275
4352
  * @id Source
4276
- * @name Source
4353
+ * @alias Source
4277
4354
  */
4278
4355
  interface ExposedSource {
4279
4356
  /** {zh}
4280
- * @brief 线路name(唯一值)。
4357
+ * @brief 线路标识(唯一值)。
4281
4358
  * @default 无
4282
4359
  */
4283
4360
  name?: string;
@@ -4315,8 +4392,9 @@ declare namespace live {
4315
4392
  }
4316
4393
  /**
4317
4394
  * @detail events
4318
- * @id 事件
4319
- * @name 事件
4395
+ * @id LiveEvents
4396
+ * @name LiveEvents
4397
+ * @kind event
4320
4398
  */
4321
4399
  enum LiveEvents {
4322
4400
  // 播放器媒体事件
@@ -4492,22 +4570,21 @@ declare namespace live {
4492
4570
  /**
4493
4571
  * 时移状态切换
4494
4572
  */
4495
- TIME_SHIFT_CHANGE = "time_shift_change",
4573
+ TIME_SHIFT_CHANGE = "timeShiftChange",
4496
4574
  /**
4497
4575
  * 点击刷新按钮
4498
4576
  */
4499
- REFRESH_CLICK = "refresh_click"
4577
+ REFRESH_CLICK = "refreshClick"
4500
4578
  }
4501
4579
  /**
4502
4580
  * @detail events
4503
- * @id 事件回调
4504
- * @name 事件回调
4581
+ * @brief 事件回调
4505
4582
  * @hiddenDefault
4506
4583
  * @example
4507
4584
  * ```js
4508
4585
  * VePlayer.createLivePlayer({
4509
4586
  * height: 360,
4510
- * url: options.url,
4587
+ * url: 'https://livepull.example.com/appname/streamname.flv',
4511
4588
  * }).then(function (veplayer) {
4512
4589
  * veplayer.on(VePlayer.live.Events.PLAYER_FOCUS, function (data) {
4513
4590
  * console.log('监听到 PLAYER_FOCUS 事件的回调数据为', data);
@@ -4517,8 +4594,9 @@ declare namespace live {
4517
4594
  * });
4518
4595
  * }).catch(error => {
4519
4596
  * console.log('创建播放器失败,报错信息:', error);
4520
- * });;
4597
+ * });
4521
4598
  * ```
4599
+ * @kind event
4522
4600
  */
4523
4601
  interface LiveEventsPayload {
4524
4602
  /**
@@ -5133,7 +5211,7 @@ declare namespace live {
5133
5211
  needFallback?: boolean;
5134
5212
  /** {zh}
5135
5213
  * @brief 降级顺序,按照数组顺序依次降级,数组中的元素与 playlist 中的 definition 相对应。
5136
- * @default "['uhd', 'hd', 'sd', 'ld', 'ao']"
5214
+ * @default ['uhd', 'hd', 'sd', 'ld', 'ao']
5137
5215
  */
5138
5216
  demotePriority?: string[];
5139
5217
  }
@@ -5309,7 +5387,6 @@ declare namespace live {
5309
5387
  * @brief 为播放器设置是否显示全屏功能按钮,并进行全屏功能设置。
5310
5388
  * - `true`:显示;
5311
5389
  * - `false`:不显示。
5312
- * @default -
5313
5390
  */
5314
5391
  fullscreen?: boolean | Fullscreen;
5315
5392
  /** {zh}
@@ -5339,11 +5416,12 @@ declare namespace live {
5339
5416
  /** {zh}
5340
5417
  * @brief 为播放器设置是否启用内联播放模式。playsinline 属性是 HTML5 视频标签的一个属性,用于指定视频是否应在页面文档内播放。
5341
5418
  * - `true`:启用,表示视频将在页面文档内播放;
5342
- * - `false`:停用,默认浏览器播放行为。
5419
+ * - `false`:停用,默认浏览器播放行为。</br>
5420
+ *
5343
5421
  * 该配置项只在移动端生效,当取值为 true 的时候,会在初始化 video 或 audio 对象的时候,将 playsinline、webkit-playsinline、x5-playsinline 三个属性设置为 true,请参考 [New Policies for iOS](https://webkit.org/blog/6784/new-video-policies-for-ios/) 了解内联模式相关知识。
5344
5422
  * @listtip
5345
- * iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;</br>
5346
- * iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
5423
+ * - iOS 10 及以上系统 Safari 浏览器支持配置内联播放模式;
5424
+ * - iOS 10 以下系统 Safari 浏览器不支持配置内联播放模式 ,默认播放即进入系统全屏。
5347
5425
  * @default true
5348
5426
  */
5349
5427
  playsinline?: boolean;
@@ -5360,8 +5438,8 @@ declare namespace live {
5360
5438
  * - `false`:停用
5361
5439
  * @listtip
5362
5440
  * 启用流式布局时:
5363
- * 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
5364
- * 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
5441
+ * - 如果 `width` 和 `height` 是 `Number` 类型,则按照其数值计算播放器宽高比;
5442
+ * - 如果 `width` 和 `height` 不是 `Number` 类型,默认使用 16:9 比例。
5365
5443
  * @default false
5366
5444
  */
5367
5445
  fluid?: boolean;
@@ -5435,22 +5513,22 @@ declare namespace live {
5435
5513
  interface Fullscreen {
5436
5514
  /** {zh}
5437
5515
  * @brief 切换全屏时,是否旋转为横屏播放,通常在移动端使用。如果开启横屏播放,切换全屏时,将在竖屏状态下把播放器旋转 90 度,实现横屏效果。该配置优先级高于 useCssFullscreen。
5438
- * `true`:使用旋转横屏;
5439
- * `false`:不使用旋转横屏。
5516
+ * - `true`:使用旋转横屏;
5517
+ * - `false`:不使用旋转横屏。
5440
5518
  * @default false
5441
5519
  */
5442
5520
  rotateFullscreen?: boolean;
5443
5521
  /** {zh}
5444
5522
  * @brief 是否使用页面全屏代替系统全屏功能。
5445
- * `true`:页面全屏;
5446
- * `false`:系统全屏。
5523
+ * - `true`:页面全屏;
5524
+ * - `false`:系统全屏。
5447
5525
  * @default false
5448
5526
  */
5449
5527
  useCssFullscreen?: boolean;
5450
5528
  /**{zh}
5451
5529
  * 全屏的时候是否显示右上角返回按钮,通常在移动端开启。
5452
- * `true`:显示;
5453
- * `false`:不显示。
5530
+ * - `true`:显示;
5531
+ * - `false`:不显示。
5454
5532
  * @default false
5455
5533
  */
5456
5534
  needBackIcon?: boolean;
@@ -5502,11 +5580,11 @@ declare namespace live {
5502
5580
  */
5503
5581
  enum Codec {
5504
5582
  /** {zh}
5505
- * @brief h265 编码格式
5583
+ * @brief H.265 编码格式
5506
5584
  */
5507
5585
  H265 = "h265",
5508
5586
  /** {zh}
5509
- * @brief h264 编码格式
5587
+ * @brief H.264 编码格式
5510
5588
  */
5511
5589
  H264 = "h264"
5512
5590
  }
@@ -5529,18 +5607,6 @@ declare namespace live {
5529
5607
  * @detail option
5530
5608
  * @brief 解码方式。
5531
5609
  * @example
5532
- * ```js
5533
- * VePlayer.createLivePlayer({
5534
- * height: 360,
5535
- * url: options.url,
5536
- * }).then(function (veplayer) {
5537
- * veplayer.on(VePlayer.live.Events.CANPLAY, function () {
5538
- * console.log('监听到 canplay 事件')
5539
- * });
5540
- * }).catch(error => {
5541
- * console.log('创建播放器失败,报错信息:', error);
5542
- * });;
5543
- * ```
5544
5610
  */
5545
5611
  enum DecodeType {
5546
5612
  /** {zh}
@@ -5769,13 +5835,13 @@ declare namespace live {
5769
5835
  /**
5770
5836
  * @brief 调用此方法监听指定事件,事件处理函数只执行一次。
5771
5837
  * @param event 表示事件的名称。
5772
- * @param callback 表示事件的名称。
5838
+ * @param callback 表示事件的回调函数。
5773
5839
  */
5774
5840
  once(event: string, callback: (data?: any) => any): void;
5775
5841
  /**
5776
5842
  * @brief 调用此方法解绑或移除指定事件的事件监听。
5777
5843
  * @param event 表示事件的名称。
5778
- * @param callback 表示事件的名称。
5844
+ * @param callback 表示事件的回调函数。
5779
5845
  */
5780
5846
  off(event: string, callback: (data?: any) => any): void;
5781
5847
  /**
@@ -5790,8 +5856,8 @@ declare namespace live {
5790
5856
  offAll(): void;
5791
5857
  /**
5792
5858
  * @brief 调用此方法监听指定事件。
5793
- * @param event 事件。
5794
- * @param callback 事件回调。
5859
+ * @param event 表示事件名称。
5860
+ * @param callback 表示事件的回调函数。
5795
5861
  */
5796
5862
  on(event: string, callback: (data?: any) => any): void;
5797
5863
  /**
@@ -5927,6 +5993,7 @@ declare namespace live {
5927
5993
  readonly "plugin:shaka": "veplayer.plugin.shaka.[env].[ext]";
5928
5994
  readonly "plugin:rtm": "veplayer.plugin.rtm.[env].[ext]";
5929
5995
  readonly "plugin:xgvideo": "veplayer.plugin.xgvideo.[env].[ext]";
5996
+ readonly "plugin:drm": "veplayer.plugin.drm.[env].[ext]";
5930
5997
  };
5931
5998
  const enum State {
5932
5999
  Fetching = 0,
@@ -5955,7 +6022,8 @@ declare namespace live {
5955
6022
  PluginHls = "plugin:hls",
5956
6023
  PluginShaka = "plugin:shaka",
5957
6024
  PluginRtm = "plugin:rtm",
5958
- PluginXgvideo = "plugin:xgvideo"
6025
+ PluginXgvideo = "plugin:xgvideo",
6026
+ PluginDrm = "plugin:drm"
5959
6027
  }
5960
6028
  type ModulesMap = {
5961
6029
  [DynamicModule.BizVod]: Exports;
@@ -5966,6 +6034,7 @@ declare namespace live {
5966
6034
  [DynamicModule.PluginShaka]: Exports;
5967
6035
  [DynamicModule.PluginRtm]: Exports;
5968
6036
  [DynamicModule.PluginXgvideo]: Exports;
6037
+ [DynamicModule.PluginDrm]: Exports;
5969
6038
  };
5970
6039
  class Loader {
5971
6040
  readonly modules: Record<string, Module>;
@@ -5978,14 +6047,20 @@ declare namespace live {
5978
6047
  setModuleSystem(moduleSystem: ModuleSystem): void;
5979
6048
  setBaseUrl(url: string): void;
5980
6049
  load: <T extends DynamicModule>(name: T, src?: string) => Promise<ModulesMap[T]>;
5981
- register: (name: string, exports: Exports) => Exports;
6050
+ registerPlugin: (name: string, exports: Exports) => Exports;
6051
+ register: (exports: Exports[]) => Exports[];
5982
6052
  private _mount;
5983
6053
  }
5984
- const register: (name: string, exports: {
6054
+ const registerPlugin: (name: string, exports: {
5985
6055
  [x: string]: any;
5986
6056
  }) => {
5987
6057
  [x: string]: any;
5988
6058
  };
6059
+ const register: (exports: {
6060
+ [x: string]: any;
6061
+ }[]) => {
6062
+ [x: string]: any;
6063
+ }[];
5989
6064
  function setModuleSystem(moduleSystem: ModuleSystem): void;
5990
6065
  function setBaseUrl(url: string): void;
5991
6066
  function getBaseUrl(): string;
@@ -6004,7 +6079,7 @@ declare namespace live {
6004
6079
  * `Codec.H265`: 返回当前浏览器是否支持硬解播放 H265。
6005
6080
  * @returns
6006
6081
  */
6007
- function isMseSupported(codec?: Codec): boolean;
6082
+ function isMseSupported(codec?: string): boolean;
6008
6083
  /**
6009
6084
  * @detail api
6010
6085
  * @brief 当前浏览器是否支持软解
@@ -6065,7 +6140,7 @@ declare namespace live {
6065
6140
  scrollLeft(): number;
6066
6141
  checkTouchSupport(): boolean;
6067
6142
  getBuffered2(vbuffered: any, maxHoleDuration?: number | undefined): import("xgplayer/es/utils/xgplayerTimeRange").default;
6068
- getEventPos(e: Events, zoom?: number | undefined): {
6143
+ getEventPos(e: Event, zoom?: number | undefined): {
6069
6144
  x: number;
6070
6145
  y: number;
6071
6146
  clientX: number;
@@ -6278,6 +6353,7 @@ declare namespace live {
6278
6353
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
6279
6354
  MEDIA_ERR_URL_EMPTY: string;
6280
6355
  DRM: string;
6356
+ DRM_LICENSE: string;
6281
6357
  OTHER: string;
6282
6358
  RUNTIME: string;
6283
6359
  MODULE_LOAD_ERROR: string;
@@ -6349,6 +6425,7 @@ declare namespace live {
6349
6425
  MEDIA_ERR_CODEC_NOT_SUPPORTED: string;
6350
6426
  MEDIA_ERR_URL_EMPTY: string;
6351
6427
  DRM: string;
6428
+ DRM_LICENSE: string;
6352
6429
  OTHER: string;
6353
6430
  RUNTIME: string;
6354
6431
  MODULE_LOAD_ERROR: string;
@@ -6405,8 +6482,8 @@ declare namespace live {
6405
6482
  type VeError$1 = error.VeError;
6406
6483
  /**
6407
6484
  * @detail error
6408
- * @name 错误码
6409
- * @id 错误码
6485
+ * @name ErrorCode
6486
+ * @id ErrorCode
6410
6487
  * @structure errorCode
6411
6488
  */
6412
6489
  const ErrorCode$0: {
@@ -6449,7 +6526,7 @@ declare namespace live {
6449
6526
  };
6450
6527
  type ValueOf<T> = T[keyof T];
6451
6528
  const ERRORS: Partial<Record<ValueOf<typeof ErrorCode$0>, error.ErrorInfo<TextKey$0>>>;
6452
- function create$0(errorCode: ValueOf<typeof ErrorCode$0>, i18n?: VeI18n<TextKey$0>): error.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" | "GOP" | "INVALID_PARAMETER" | "FORMAT" | "FPS" | "BITRATE" | "RESOLUTION" | "ENCODE_TYPE" | "BUFFER_END" | "CURRENT_TIME" | "DECODE_EFFICIENCY" | "DECODE_COST" | "DECODE_INFO">;
6529
+ function create$0(errorCode: ValueOf<typeof ErrorCode$0>, i18n?: VeI18n<TextKey$0>): error.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" | "GOP" | "INVALID_PARAMETER" | "FORMAT" | "FPS" | "BITRATE" | "RESOLUTION" | "ENCODE_TYPE" | "BUFFER_END" | "CURRENT_TIME" | "DECODE_EFFICIENCY" | "DECODE_COST" | "DECODE_INFO">;
6453
6530
  /**
6454
6531
  * @list option
6455
6532
  * @kind property
@@ -6537,14 +6614,14 @@ declare namespace live {
6537
6614
  /** {zh}
6538
6615
  * @brief 用于识别单一用户的 ID,如不设置,会随机生成一个用户 ID 存在浏览器缓存中。
6539
6616
  * @listtip
6540
- * 建议您使用与业务相关的用户 ID,以便在发生播放错误事快速定位排查问题。
6617
+ * 建议您使用与业务相关的用户 ID,以便在发生播放错误时快速定位排查问题。
6541
6618
  * @default 无
6542
6619
  */
6543
6620
  userId?: string;
6544
6621
  /** {zh}
6545
6622
  * @brief 用于识别用户设备的 ID,如不设置,会随机生成一个用户 ID 存在浏览器缓存中。
6546
6623
  * @listtip
6547
- * 建议您使用与业务相关的用户设备 ID,以便在发生播放错误事快速定位排查问题。
6624
+ * 建议您使用与业务相关的用户设备 ID,以便在发生播放错误时快速定位排查问题。
6548
6625
  * @default 无
6549
6626
  */
6550
6627
  deviceId?: string;
@@ -6577,9 +6654,8 @@ declare namespace live {
6577
6654
  /**
6578
6655
  * @list option
6579
6656
  * @kind property
6580
- * @id 配置
6581
- * @name 配置
6582
6657
  * @inheritdoc
6658
+ * @hiddenTitle
6583
6659
  */
6584
6660
  interface LiveVePlayerOptions extends VePlayerBaseOptions {
6585
6661
  /** {zh}
@@ -6594,7 +6670,7 @@ declare namespace live {
6594
6670
  flv?: Flv;
6595
6671
  /** {zh}
6596
6672
  * @brief 为播放器设置 HLS 拉流配置。HLS 格式流相关配置仅适用于支持 MSE 播放的 PC 端浏览器和安卓端浏览器。
6597
- * @default -
6673
+
6598
6674
  *
6599
6675
  * @listtip
6600
6676
  * - PC 端该配置默认生效;
@@ -6610,7 +6686,7 @@ declare namespace live {
6610
6686
  * @brief 为播放器设置直播时移配置,接入方法请参见[功能接入](https://www.volcengine.com/docs/6469/138655#直播时移)。
6611
6687
  * @default -
6612
6688
  */
6613
- // timeShift?: TimeShiftConfig;
6689
+ timeShift?: TimeShiftConfig;
6614
6690
  /** {zh}
6615
6691
  * @brief 日志上报配置,支持设置开启/关闭开始日志上报并设置日志参数,接入方法请参见[功能接入](https://www.volcengine.com/docs/6469/138655#日志上报)。
6616
6692
  * @default -
@@ -6626,20 +6702,79 @@ declare namespace live {
6626
6702
  * @default 无
6627
6703
  */
6628
6704
  icons?: any;
6705
+ /**
6706
+ * @brief 商业 DRM 播放配置。
6707
+ * @default -
6708
+ */
6709
+ drm?: Drm;
6710
+ }
6711
+ interface Drm {
6712
+ /**
6713
+ * @brief fairplay DRM 配置
6714
+ */
6715
+ fairplay?: FairplayDrm;
6716
+ }
6717
+ interface FairplayDrm extends FairplayDrmConfig {
6718
+ /**
6719
+ * @brief 获取 DRM 配置的方法,用于更新 DRM 配置。
6720
+ * @param config
6721
+ * @returns 证书的请求地址和内容密钥许可证的请求地址。
6722
+ */
6723
+ getDrmConfig?: (config: {
6724
+ url: string;
6725
+ }) => Promise<FairplayDrmConfig>;
6726
+ }
6727
+ interface FairplayDrmConfig {
6728
+ /**
6729
+ * @brief 获取证书的请求地址
6730
+ */
6731
+ serverCertificatePath?: string;
6732
+ /**
6733
+ * @brief 获取内容密钥许可证的请求地址
6734
+ */
6735
+ serverProcessSPCPath?: string;
6629
6736
  }
6630
6737
  enum RTMCodec {
6631
6738
  H264 = "h264"
6632
6739
  }
6633
6740
  /**
6634
- * @brief 为播放器设置 RTM 拉流配置。
6741
+ * @list option
6742
+ * @kind property
6743
+ */
6744
+ interface TimeShiftConfig {
6745
+ /** {zh}
6746
+ * @brief 直播开始时间,Unix 时间戳,单位为 s,需要传入浏览器本地时间。
6747
+ * @default Date.now() / 1000
6748
+ */
6749
+ liveStartTime?: number;
6750
+ /** {zh}
6751
+ * @brief 最大时移时间,单位为 s,取值范围为 [6,604800]。
6752
+ * @default 604800
6753
+ */
6754
+ maxShiftOffset?: number;
6755
+ /**
6756
+ * @hidden
6757
+ */
6758
+ currentTime?: number;
6759
+ /**
6760
+ * @hidden
6761
+ */
6762
+ position?: string;
6763
+ }
6764
+ /**
6635
6765
  * @list option
6636
6766
  * @kind property
6637
6767
  */
6638
6768
  interface Rtm {
6639
6769
  /** {zh}
6640
- * @brief 配置 RTM 拉流失败降级地址,可配置 FLV 拉流地址或 HLS 的拉流地址。
6641
- * - 指定 `fallbackUrl`:RTM 拉流建联失败时,降级到 `fallbackUrl` 拉流地址。
6642
- * - 未指定 `fallbackUrl`:RTM 拉流建联失败时,播放器会发送 error 报错。
6770
+ * @brief 当前环境不支持播放 RTM 或者 RTM 拉流播放失败时是否进行降级。
6771
+ * @default true
6772
+ */
6773
+ enableFallback?: boolean;
6774
+ /** {zh}
6775
+ * @brief 配置 RTM 拉流失败降级地址,可配置 FLV 拉流地址或 HLS 的拉流地址。`enableFallback` 为 `true` 时生效。
6776
+ * - 指定 `fallbackUrl`:当前环境不支持播放 RTM 或 RTM 拉流建联失败时,降级到 `fallbackUrl` 拉流地址。
6777
+ * - 未指定 `fallbackUrl`:当前环境不支持播放 RTM 或 RTM 拉流建联失败时,根据当前 RTM 地址降级到对应的 FLV 或者 HLS 地址。
6643
6778
  * @default 无
6644
6779
  */
6645
6780
  fallbackUrl?: string;
@@ -6659,12 +6794,11 @@ declare namespace live {
6659
6794
  */
6660
6795
  retryDelay?: number;
6661
6796
  /** {zh}
6662
- * @brief 是否开启自动降级。
6663
- * @default true
6664
- */
6665
- enableFallback?: boolean;
6666
- /** {zh}
6667
- * @brief 是否开启自动转码。
6797
+ * @brief 播放器发起 RTM 拉流请求时,是否开启自动转码。
6798
+ * - true:开启
6799
+ * - false:关闭
6800
+ * @listtip
6801
+ * 如有使用 RTM 拉流自动转码的需求,请先创建工单联系[技术支持](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00000076)进行配置。
6668
6802
  * @default false
6669
6803
  */
6670
6804
  enableRTMAutoTranscode?: boolean;
@@ -6689,7 +6823,17 @@ declare namespace live {
6689
6823
  * @default 10000
6690
6824
  */
6691
6825
  loadTimeout?: number;
6826
+ /** {zh}
6827
+ * @brief 播放器发起 FLV 拉流请求时,是否开启低延时。例如,当您开启低延时且推流端 GOP 设置为 2s 的情况下,FLV 拉流平均端到端延时约为 2s。
6828
+ * - true:开启
6829
+ * - false:关闭
6830
+ * @default false
6831
+ */
6692
6832
  enableLowLatency?: boolean;
6833
+ /** {zh}
6834
+ * @hidden
6835
+ */
6836
+ abrPts?: string | number;
6693
6837
  }
6694
6838
  /**
6695
6839
  * @list option
@@ -6747,6 +6891,11 @@ declare namespace live {
6747
6891
  *
6748
6892
  */
6749
6893
  closeInfoPanel(): void;
6894
+ /** {zh}
6895
+ * @brief 调用此方法更新 DRM 鉴权配置。
6896
+ * @hidden
6897
+ */
6898
+ updateDrmConfig(config: FairplayDrmConfig): void;
6750
6899
  }
6751
6900
  /**
6752
6901
  * @detail api
@@ -6769,4 +6918,4 @@ declare namespace live {
6769
6918
  */
6770
6919
  function createLivePlayer(options?: LiveVePlayerOptions): Promise<VePlayerLive>;
6771
6920
  }
6772
- export { Codec, DecodeType, Degradation, DynamicModule, RTMCodec, Plugin, ExposedSource, util, register, createLivePlayer, isMseSupported, isSoftDecodeSupported, isRTMSupported, isRTMSupportCodec, load, POSITIONS, EN, ZH_CN, Sniffer, live };
6921
+ export { Codec, DecodeType, Degradation, DynamicModule, RTMCodec, ListType, Plugin, ExposedSource, VePlayerLive, util, register, registerPlugin, createLivePlayer, isMseSupported, isSoftDecodeSupported, isRTMSupported, isRTMSupportCodec, load, POSITIONS, EN, ZH_CN, Sniffer, live };