@volcengine/veplayer 1.8.7-rc.0 → 1.9.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/index.d.ts CHANGED
@@ -779,51 +779,78 @@ export interface ITextItem {
779
779
  index?: number;
780
780
  }
781
781
  /**
782
- * @brief 清晰度自动降级配置
782
+ * @brief 清晰度降级配置。
783
783
  * @list Options
784
784
  * @kind property
785
785
  */
786
+ /** {en}
787
+ * @brief 清晰度降级配置
788
+ */
786
789
  export interface IDefinitionDemotePlugin {
787
790
  /**
788
- * @brief 是否自动触发降级
791
+ * @brief 是否开启自动降级,取值如下:
792
+ * - `false`:关闭自动降级。
793
+ * - `true`:开启自动降级。
789
794
  * @default true
790
795
  *
791
796
  */
797
+ /** {en}
798
+ * @brief Is automatic downgrade enabled? The values are as follows:
799
+ * - `false`: automatic downgrade is disabled.
800
+ * - `true`: automatic downgrade is enabled.
801
+ */
792
802
  isNeedAutoDemote?: boolean;
793
803
  /**
794
- * @brief 降级顺序,按照数组 顺序依次降级,数组 中的元素与playList 中的 definition 相对应
804
+ * @brief 清晰度降级顺序。数组中的元素需与 `playList` 中的 `definition` 相对应。
795
805
  * @default []
796
806
  *
797
807
  * @type {string[]}
798
808
  * @memberof IDefinitionDemotePlugin
799
809
  */
800
- demotePriority?: string[];
810
+ /** {en}
811
+ */
812
+ demotePriority: string[];
801
813
  /**
802
- * @brief 长时间卡顿的时间阈值,单位为ms。卡顿超过该值,即为长时间卡顿
814
+ * @brief 长时间卡顿的时间阈值,单位为毫秒。卡顿时长超过该值,即视为长时间卡顿。发生长时间卡顿时,SDK 会触发 `LONG_WAITING` 事件。
803
815
  * @default 5000
804
816
  *
805
817
  */
818
+ /** {en}
819
+ * @brief 长时间卡顿的时间阈值,单位为ms。卡顿超过该值,即为长时间卡顿
820
+ */
806
821
  longWaitingTime?: number;
807
822
  /**
808
- * @brief 频繁卡顿的次数阈值。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
823
+ * @brief 频繁卡顿的次数阈值。`oftenWaitingTime` 内卡顿次数大于或等于阈值时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
809
824
  * @default 3
810
825
  *
811
826
  */
827
+ /** {en}
828
+ * @brief 频繁卡顿的次数阈值。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
829
+ */
812
830
  oftenWaitingCount?: number;
813
831
  /**
814
- * @brief 频繁卡顿的时间范围。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
832
+ * @brief 频繁卡顿监测的时间范围。`oftenWaitingTime` 内卡顿次数大于或等于 `oftenWaitingCount` 时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
815
833
  * @default 5000
816
834
  */
835
+ /** {en}
836
+ * @brief 频繁卡顿的时间范围。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
837
+ */
817
838
  oftenWaitingTime?: number;
818
839
  /**
819
- * @brief 卡顿时是否显示建议切换清晰度的提醒tips
840
+ * @brief 卡顿时是否显示清晰度降级提示 toast。
820
841
  * @default true
821
842
  */
843
+ /** {en}
844
+ * @brief 卡顿时是否显示建议切换清晰度的提醒tips
845
+ */
822
846
  isNeedShowTips?: boolean;
823
847
  /**
824
- * @brief 提醒降级的toast显示持续时间,单位ms
848
+ * @brief 清晰度降级提示 toast 的显示时长,单位为毫秒。
825
849
  * @default 3000
826
850
  */
851
+ /** {en}
852
+ * @brief 提醒降级的toast显示持续时间,单位ms
853
+ */
827
854
  toastShowTime?: number;
828
855
  }
829
856
  export declare class DefinitionDemotePlugin extends Plugin {
@@ -853,7 +880,7 @@ export declare class DefinitionDemotePlugin extends Plugin {
853
880
  _clearTime(): void;
854
881
  clearState(): void;
855
882
  demote(): void;
856
- changeUrl(url: string): void;
883
+ changeUrl(url: Url): void;
857
884
  showToast(definition: Stream): void;
858
885
  destroy(): void;
859
886
  }
@@ -1380,6 +1407,11 @@ export interface IAutoplayPluginConfig {
1380
1407
  * @brief 开启任意点击/触摸的用户行为触发自动播放
1381
1408
  */
1382
1409
  enableUserActionAutoplay?: boolean;
1410
+ /**
1411
+ * @brief 静音自动播放时,是否在播放器容器上居中展示取消静音的大按钮
1412
+ * @default true
1413
+ */
1414
+ showUnmuteBtn?: boolean;
1383
1415
  }
1384
1416
  declare class PlayList {
1385
1417
  private config;
@@ -1670,44 +1702,73 @@ export declare class PlayListPlugin extends Plugin {
1670
1702
  */
1671
1703
  export interface IWatermarkConfig {
1672
1704
  /**
1673
- * @brief 是否开启水印
1705
+ * @brief 是否开启动态水印,取值如下:<br/>
1706
+ * - `true`:开启动态水印
1707
+ * - `false`:关闭动态水印
1674
1708
  * @default false
1675
1709
  */
1710
+ /** {en}
1711
+ * @brief Is dynamic watermark enabled? The value is as follows:<br/>
1712
+ * - `true`: Enable dynamic watermark
1713
+ * - `false`: Disable dynamic watermark
1714
+ */
1676
1715
  enable: boolean;
1677
1716
  /**
1678
- * @brief 水印文案内容
1717
+ * @brief 水印文案。
1679
1718
  * @default -
1680
1719
  */
1720
+ /** {en}
1721
+ * @brief 水印文案内容
1722
+ */
1681
1723
  content: string;
1682
1724
  /**
1683
- * @brief 水印展示形式
1684
- * - 0: 固定位置
1685
- * - 1: 全屏滚动
1686
- * - 2: 随机闪烁
1725
+ * @brief 水印展示形式,取值如下:<br/>
1726
+ * - `0`:固定位置
1727
+ * - `1`:全屏滚动
1728
+ * - `2`:随机闪烁
1687
1729
  * @default 1
1688
1730
  */
1689
- displayType: 0 | 1 | 2;
1731
+ /** {en}
1732
+ * @brief 水印展示形式
1733
+ * - 0: 固定位置
1734
+ * - 1: 全屏滚动
1735
+ * - 2: 随机闪烁
1736
+ */
1737
+ displayType?: 0 | 1 | 2;
1690
1738
  /**
1691
- * @brief 水印字体大小,number类型时单位为pxstring类型需要携带单位
1739
+ * @brief 水印字体大小。`number`类型时单位为 px,`string` 类型时需要携带单位。
1692
1740
  * @default 12
1693
1741
  */
1694
- fontSize: number | string;
1742
+ /** {en}
1743
+ * @brief 水印字体大小,number类型时单位为px,string类型需要携带单位
1744
+ */
1745
+ fontSize?: number | string;
1695
1746
  /**
1747
+ * @brief 水印字体颜色。
1748
+ * @brief 水印字体颜色。
1749
+ */
1750
+ /** {en}
1696
1751
  * @brief 水印字体颜色
1697
- * @brief #FFFFFF
1698
1752
  */
1699
- fontColor: string;
1753
+ fontColor?: string;
1700
1754
  /**
1701
- * @brief 不透明度
1755
+ * @brief 水印不透明度。取值范围:\[0~1\]。
1702
1756
  * @default 0.3
1703
1757
  */
1704
- opacity: number;
1758
+ /** {en}
1759
+ * @brief 不透明度
1760
+ */
1761
+ opacity?: number;
1705
1762
  /**
1706
- * @brief 水印闪烁速度
1763
+ * @brief 水印闪烁速度,取值如下:<br/>
1764
+ * - `MODERATE`:适中
1765
+ * - `FAST`:较快
1766
+ * - `SLOW`:较慢
1767
+ * @default MODERATE
1768
+ */
1769
+ /** {en}
1707
1770
  * @default MODERATE
1708
- * - MODERATE: 适中
1709
- * - FAST: 较快
1710
- * - SLOW: 较慢
1771
+ * @brief 水印闪烁速度
1711
1772
  */
1712
1773
  tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
1713
1774
  /**
@@ -1716,22 +1777,22 @@ export interface IWatermarkConfig {
1716
1777
  */
1717
1778
  fontFamily?: string;
1718
1779
  /**
1719
- * @brief 水印相对于播放容器顶部起始位置,单位px
1780
+ * @brief 水印相对于播放容器顶部的距离,单位为 px
1720
1781
  * @default 0
1721
1782
  */
1722
1783
  top?: number;
1723
1784
  /**
1724
- * @brief 水印相对于播放容器左侧起始位置,单位px
1785
+ * @brief 水印相对于播放容器左侧的距离,单位为 px
1725
1786
  * @default 0
1726
1787
  */
1727
1788
  left?: number;
1728
1789
  /**
1729
- * @brief 水印相对于播放容器底部起始位置,单位px
1790
+ * @brief 水印相对于播放容器底部的距离,单位为 px
1730
1791
  * @default -
1731
1792
  */
1732
1793
  bottom?: number;
1733
1794
  /**
1734
- * @brief 水印相对于播放容器右侧起始位置,单位px
1795
+ * @brief 水印相对于播放容器右侧的距离,单位为 px
1735
1796
  * @default -
1736
1797
  */
1737
1798
  right?: number;
@@ -1778,39 +1839,39 @@ declare class ToastPlugin extends Plugin {
1778
1839
  export interface IMemoryPlayConfig {
1779
1840
  /** {zh}
1780
1841
  * @brief 存储标识id
1781
- * @default 视频vid或视频地址(去除query参数)
1782
- *
1842
+ * @default options.vid || options.url
1783
1843
  * @type {number | string}
1784
1844
  * @memberof IMemoryPlayConfig
1785
1845
  */
1786
1846
  memoryId: number | string;
1787
1847
  /** {zh}
1788
- * @brief 设置存储记忆时间的回调函数
1848
+ * @brief 设置时间函数
1789
1849
  * @default -
1790
- * @param id 存储标识id,由SDK传入
1791
- * @param time 需要记忆的时间点
1850
+ * @param id
1851
+ * @param time
1792
1852
  * @type {(id: number | string, time: number) => unknown}
1793
1853
  * @memberof IMemoryPlayConfig
1794
1854
  */
1795
1855
  saveTime?: (id: number | string, time: number) => unknown;
1796
1856
  /** {zh}
1797
- * @brief 获取最后一次播放时间的回调函数
1798
- * @param id 存储标识id,由SDK传入
1857
+ * @brief 获取最后一次播放时间函数
1858
+ * @param id
1799
1859
  * @default -
1800
1860
  */
1801
1861
  getTime?: (id: number | string) => number | Promise<number>;
1802
1862
  /** {zh}
1803
- * @brief 判断是否播放了最小时间阈值,即如果播的时长太小,则不算做播放过,存储的时间进度为0
1863
+ * @brief 判断播放是否已开始的最小时间阈值。如果播放时长短于此阈值,则不算作已开始播放,存储的时间进度为 0
1804
1864
  * @default 1
1805
1865
  */
1806
1866
  minStartTime?: number;
1807
1867
  /** {zh}
1808
- * @brief 判断是否播放结束的最小时间阈值,即距离结束多少时间内算作播放结束,播放结束则不存储时间进度,且清空之前的进度为0
1868
+ * @brief 判断播放是否已结束的最小时间阈值,即距离结束还剩余的时间不足此阈值时,即视为播放已结束。播放结束时,不再存储时间进度,并将之前的进度清零。
1809
1869
  * @default 1
1810
1870
  */
1811
1871
  minEndTime?: number;
1812
1872
  }
1813
1873
  export declare class MemoryPlay extends Plugin {
1874
+ private curTime;
1814
1875
  static get pluginName(): string;
1815
1876
  static get defaultConfig(): IMemoryPlayConfig;
1816
1877
  startTime: number;
@@ -2036,11 +2097,11 @@ export interface Stream extends Partial<IPlayInfoListItem> {
2036
2097
  streamType?: string;
2037
2098
  /** {zh}
2038
2099
  * @brief 播放地址
2039
- *
2040
- * @type {string}
2100
+ * 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
2101
+ * @type {Url}
2041
2102
  * @memberof IPlayerConfig
2042
2103
  */
2043
- url: string;
2104
+ url: Url;
2044
2105
  /** {zh}
2045
2106
  * @type {string}
2046
2107
  * @memberof Stream
@@ -2050,7 +2111,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
2050
2111
  /** {zh}
2051
2112
  * @type {string}
2052
2113
  * @memberof Stream
2053
- * @brief 映射清晰度 key,用于清晰度降级中设置自动档位实际对应的definition
2114
+ * @brief 映射清晰度 key
2054
2115
  * @default -
2055
2116
  */
2056
2117
  mapDefinition?: string;
@@ -2095,6 +2156,11 @@ export interface Stream extends Partial<IPlayInfoListItem> {
2095
2156
  * @default -
2096
2157
  */
2097
2158
  bandwidth?: number;
2159
+ /**
2160
+ * @brief 地址的过期时间戳,单位秒(s),vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
2161
+ * @default -
2162
+ */
2163
+ urlExpireTimestamp?: number;
2098
2164
  /** {zh}
2099
2165
  * @hidden
2100
2166
  */
@@ -2106,10 +2172,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
2106
2172
  export interface Condition {
2107
2173
  definition?: string;
2108
2174
  lineId?: number | string;
2109
- /**
2110
- * @hidden
2111
- */
2112
- [propName: string]: any;
2175
+ url?: Url;
2113
2176
  }
2114
2177
  /** {zh}
2115
2178
  * @hidden
@@ -2120,11 +2183,26 @@ export interface Current {
2120
2183
  language: string;
2121
2184
  lineId?: number | string;
2122
2185
  codec?: CodecType;
2186
+ /**
2187
+ * @brief 地址的过期时间戳,vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
2188
+ * @default -
2189
+ */
2190
+ urlExpireTimestamp?: number;
2123
2191
  /**
2124
2192
  * @hidden
2125
2193
  */
2126
2194
  [propName: string]: any;
2127
2195
  }
2196
+ /**
2197
+ * @detail Options
2198
+ * @brief url 类型,支持字符串和数组,当为数组时将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源,可设置多个格式以兼容不同的浏览器
2199
+ * 注意:数组形式的url不支持hls、dash等的MSE方式播放
2200
+ */
2201
+ export declare type Url = string | Array<{
2202
+ src: string;
2203
+ type?: string;
2204
+ [propName: string]: any;
2205
+ }>;
2128
2206
  /** {zh}
2129
2207
  * @list Options
2130
2208
  * @kind property
@@ -2155,9 +2233,10 @@ export interface IPlayerConfig extends IPlayerOptions {
2155
2233
  root?: HTMLElement;
2156
2234
  /** {zh}
2157
2235
  * @brief 视频播放地址。
2236
+ * 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
2158
2237
  * @default -
2159
2238
  */
2160
- url?: string;
2239
+ url?: Url;
2161
2240
  /** {zh}
2162
2241
  * @brief 视频点播服务中的视频 ID。推荐填写,以方便跟踪该视频的播放质量。您将音视频上传至视频点播服务后,可通过以下方式获取 `Vid`:
2163
2242
  *
@@ -2449,7 +2528,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2449
2528
  */
2450
2529
  enableMenu?: boolean;
2451
2530
  /** {zh}
2452
- * @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生`video 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
2531
+ * @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生 `video` 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
2453
2532
  * @notes 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
2454
2533
  */
2455
2534
  enableHlsMSE?: boolean;
@@ -2471,7 +2550,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2471
2550
  */
2472
2551
  playList?: Stream[];
2473
2552
  /** {zh}
2474
- * @brief 只传playList时,用于指定默认清晰度
2553
+ * @brief 默认清晰度。仅当 `playList` 有值时生效。
2475
2554
  * @default playList第一项
2476
2555
  */
2477
2556
  defaultDefinition?: string;
@@ -2546,31 +2625,37 @@ export interface IPlayerConfig extends IPlayerOptions {
2546
2625
  * @default false
2547
2626
  */
2548
2627
  enableH265Degrade?: boolean;
2628
+ /** {zh}
2629
+ * @brief 是否开启地址过期检测,开启后以轮询的方式将当前时间与过期时间戳进行对比,以判断是否过期
2630
+ * @default false
2631
+ */
2632
+ enableUrlExpireCheck?: boolean;
2633
+ /**
2634
+ * @brief 地址的过期时间戳,单位秒(s),vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
2635
+ * @default -
2636
+ */
2637
+ urlExpireTimestamp?: number;
2638
+ /**
2639
+ * @brief 判断地址过期的阈值,单位秒(s)。如设置为500时,则在过期前500ms时就可以检测出过期执行更新地址操作,为更新地址留足足够缓冲时间。
2640
+ * @default 60
2641
+ */
2642
+ urlExpireDiff?: number;
2643
+ /**
2644
+ * @brief 地址过期检测任务的时间间隔,单位ms。
2645
+ * @default 400
2646
+ */
2647
+ urlCheckExpireInterval?: number;
2549
2648
  /** {zh}
2550
2649
  * @hidden
2551
2650
  * @brief 资源过期时的回调函数,用来更新视频资源
2552
2651
  * @default -
2553
2652
  */
2554
- onMediaExpired?: () => Promise<IPlayerConfig>;
2653
+ onMediaExpired?: () => Promise<SourceConfig>;
2555
2654
  /** {zh}
2556
2655
  * @brief `playAuthToken` 过期时的回调函数,可用来更新 `playAuthToken`。
2557
2656
  * @default -
2558
2657
  */
2559
2658
  onTokenExpired?: () => Promise<IPlayAuthTokenConfig>;
2560
- /** {zh}
2561
- * @hidden
2562
- * @brief 定期检查资源过期的周期,单位秒
2563
- * @default `400`
2564
- */
2565
- checkExpireInterval?: number;
2566
- /** {zh}
2567
- * @hidden
2568
- * @brief 定期检查资源过期的方式,支持三种类型
2569
- * - `urlExpire`: 根据url的过期时间判断
2570
- * - `xhrStatus`: 发送资源请求,根据资源xhr状态判断
2571
- * - `getUrlTime`: 根据估算的地址获取时间判断
2572
- */
2573
- expireDetectType?: Array<"urlExpire" | "xhrStatus" | "getUrlTime">;
2574
2659
  /** {zh}
2575
2660
  * @hidden
2576
2661
  * @brief 禁用点播日志配置检测,默认开启,如果未配置line_app_id则会播放报错
@@ -2601,7 +2686,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2601
2686
  */
2602
2687
  DanmuPlugin?: IDanmuConfig | boolean;
2603
2688
  /** {zh}
2604
- * @brief 清晰度自动降级配置
2689
+ * @brief 清晰度降级配置。
2605
2690
  * @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
2606
2691
  */
2607
2692
  DefinitionDemotePlugin?: IDefinitionDemotePlugin;
@@ -2628,11 +2713,10 @@ export interface IPlayerConfig extends IPlayerOptions {
2628
2713
  */
2629
2714
  Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
2630
2715
  /** {zh}
2631
- * @hidden
2632
2716
  * @brief 自适应码率配置项
2633
2717
  * @default -
2634
2718
  */
2635
- autoBitrateOpts?: IAutoBitrateOptsConfig;
2719
+ autoBitrateOpts?: IAutoBitrateOpts;
2636
2720
  /** {zh}
2637
2721
  * @brief 外挂字幕配置。
2638
2722
  * @default -
@@ -2673,6 +2757,10 @@ export interface IPlayerConfig extends IPlayerOptions {
2673
2757
  */
2674
2758
  thumbnail?: IThumbnailConfig;
2675
2759
  }
2760
+ /**
2761
+ * @brief source数据,可包含url、playList、getVideoByToken和urlExpireTimestamp
2762
+ */
2763
+ export declare type SourceConfig = Pick<IPlayerConfig, "url" | "playList" | "getVideoByToken" | "urlExpireTimestamp">;
2676
2764
  /** {zh}
2677
2765
  * @hidden
2678
2766
  */
@@ -2857,7 +2945,7 @@ export interface IPlayAuthTokenConfig {
2857
2945
  */
2858
2946
  autoDemoteDefinition?: string;
2859
2947
  /** {zh}
2860
- * @brief 清晰度自动降级开启时的自动档位对应的多语言文案key,即languages字段中对应语种的相应key
2948
+ * @brief 开启清晰度自动降级(`isNeedAutoDemote` 为 `true`)时的自动档位对应的多语言文案 key,取值对应 `languages` 字段中各语种的 `key`。
2861
2949
  * @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
2862
2950
  * @default -
2863
2951
  */
@@ -2883,107 +2971,20 @@ export interface definitionItem {
2883
2971
  */
2884
2972
  definitionTextKey?: string;
2885
2973
  }
2886
- export interface IAutoBitrateOptsConfig {
2887
- /** {zh}
2888
- * @brief 是否开启功能,默认为false
2889
- * @type {boolean}
2890
- * @memberof IAutoBitrateOptsConfig
2891
- */
2892
- isOpenAutoDefi?: boolean;
2893
- /** {zh}
2894
- * @brief 自动切换清晰度对应显示文案
2895
- *
2896
- * @type {string}
2897
- * @memberof IAutoBitrateOptsConfig
2898
- */
2899
- autoDefiText?: string;
2900
- /** {zh}
2901
- * @brief 起播是否调整到自动切换, 默认为false
2902
- * @type {boolean}
2903
- * @memberof IAutoBitrateOptsConfig
2904
- */
2905
- isPlayAutoDefi?: boolean;
2906
- /** {zh}
2907
- * @brief 调用算法频率
2908
- *
2909
- * @type {boolean}
2910
- * @memberof IAutoBitrateOptsConfig
2911
- */
2912
- interval?: number;
2913
- /** {zh}
2914
- * @brief 多久后算消费视频,单位秒
2915
- *
2916
- * @type {number}
2917
- * @memberof IAutoBitrateOptsConfig
2918
- */
2919
- noStallCheckTime?: number;
2920
- /** {zh}
2921
- * 算法 方法选择见文档,默认使用31即可,目前31策略卡顿收益很高
2922
- *
2923
- * @type {number}
2924
- * @memberof IAutoBitrateOptsConfig
2925
- */
2926
- method?: number;
2927
- /** {zh}
2928
- * 算法模块, CDN方式为window.DashAbralgo
2929
- *
2930
- * @type {any}
2931
- * @memberof IAutoBitrateOptsConfig
2932
- */
2933
- module?: any;
2934
- }
2935
- /** {zh}
2936
- * @brief 插件按钮位置
2974
+ /**
2975
+ * @brief Plugin类插件基础配置
2937
2976
  */
2938
- export declare const enum POSITIONS {
2939
- /** {zh}
2940
- * @brief 播放器根节点
2941
- */
2942
- ROOT = "root",
2943
- /** {zh}
2944
- * @brief 播放器根节点左侧
2945
- */
2946
- ROOT_LEFT = "rootLeft",
2947
- /** {zh}
2948
- * @brief 播放器根节点右侧
2949
- */
2950
- ROOT_RIGHT = "rootRight",
2951
- /** {zh}
2952
- * @brief 播放器根节点顶部
2953
- */
2954
- ROOT_TOP = "rootTop",
2955
- /** {zh}
2956
- * @brief 播控栏左侧
2957
- */
2958
- CONTROLS_LEFT = "controlsLeft",
2959
- /** {zh}
2960
- * @brief 播控栏左侧
2961
- */
2962
- CONTROLS_RIGTH = "controlsRight",
2963
- /** {zh}
2964
- * @brief 播控栏右侧
2965
- */
2966
- CONTROLS_RIGHT = "controlsRight",
2967
- /** {zh}
2968
- * @brief 播控栏中间
2969
- */
2970
- CONTROLS_CENTER = "controlsCenter",
2971
- /** {zh}
2972
- * @hidden
2973
- * @brief 播控栏左侧
2974
- */
2975
- CONTROLS = "controls"
2976
- }
2977
- export interface IIconPluginConfig {
2978
- position?: POSITIONS;
2977
+ export interface IPluginConfig {
2978
+ position?: typeof Plugin.POSITIONS[keyof typeof Plugin.POSITIONS];
2979
2979
  index?: number;
2980
+ disable?: boolean;
2980
2981
  }
2981
2982
  /** {zh}
2982
2983
  * @brief 画中画配置。
2983
2984
  * @list Options
2984
2985
  * @kind property
2985
2986
  */
2986
- export interface IPIPConfig extends IIconPluginConfig {
2987
+ export interface IPIPConfig extends IPluginConfig {
2987
2988
  /** {zh}
2988
2989
  * @brief 是否显示画中画按钮。取值如下:
2989
2990
  * - `true`:显示画中画按钮。
@@ -3027,6 +3028,12 @@ export interface IPIPConfig extends IIconPluginConfig {
3027
3028
  * @kind property
3028
3029
  */
3029
3030
  export interface IFullscreenConfig {
3031
+ /** {zh}
3032
+ * @brief 是否使用页面全屏代替系统全屏。取值如下:
3033
+ * - `true`:页面全屏。
3034
+ * - `false`:系统全屏。
3035
+ * @default false
3036
+ */
3030
3037
  /** {zh}
3031
3038
  * @brief 是否使用页面全屏代替系统全屏。取值如下:
3032
3039
  * - `true`:页面全屏。
@@ -3145,52 +3152,54 @@ export interface IPoster {
3145
3152
  }
3146
3153
  /** {zh}
3147
3154
  * @list Options
3148
- * @brief 进度条预览缩略图配置
3155
+ * @brief 进度条预览缩略图配置。
3149
3156
  * @kind property
3150
3157
  */
3151
3158
  export interface IThumbnailConfig {
3152
3159
  /** {zh}
3153
- * @brief 雪碧图截图地址数组
3160
+ * @brief 雪碧图地址数组。
3154
3161
  * @default -
3155
3162
  */
3156
3163
  urls: Array<string>;
3157
3164
  /** {zh}
3158
- * @brief 雪碧图中小图总数目
3165
+ * @brief 缩略小图总张数。
3159
3166
  * @default -
3160
3167
  */
3161
3168
  pic_num: number;
3162
3169
  /** {zh}
3163
- * @brief 雪碧图每张大图中小图列数
3170
+ * @brief 雪碧大图中每列包含的缩略小图数量。
3164
3171
  * @default -
3165
3172
  */
3166
3173
  col: number;
3167
3174
  /** {zh}
3168
- * @brief 雪碧图每张大图中小图行数
3175
+ * @brief 雪碧大图中每行包含的缩略小图数量。
3169
3176
  * @default -
3170
3177
  */
3171
3178
  row: number;
3172
3179
  /** {zh}
3173
- * @brief 雪碧图每张小图的高度
3180
+ * @brief 缩略小图高度,单位为 px。
3174
3181
  * @default -
3175
3182
  */
3176
3183
  height?: number;
3177
3184
  /** {zh}
3178
- * @brief 雪碧图每张小图的宽度
3185
+ * @brief 缩略小图宽度,单位为 px。
3179
3186
  * @default -
3180
3187
  */
3181
3188
  width?: number;
3182
3189
  /** {zh}
3183
3190
  * @brief 显示缩放比例
3184
3191
  * @default 1
3192
+ * @hidden
3185
3193
  */
3186
3194
  scale?: 1;
3187
3195
  /** {zh}
3188
3196
  * @brief 额外添加在dom上的class
3189
3197
  * @default -
3198
+ * @hidden
3190
3199
  */
3191
3200
  className?: string;
3192
3201
  /** {zh}
3193
- * @brief 是否在竖屏的时候隐藏
3202
+ * @brief 是否在竖屏的时候隐藏缩略图。
3194
3203
  * @default false
3195
3204
  */
3196
3205
  hidePortrait?: false;
@@ -3257,16 +3266,14 @@ declare class PlayerData {
3257
3266
  openSoftDecoding: boolean;
3258
3267
  defaultConfig: IDefaultConfig | undefined;
3259
3268
  isHitDefault: boolean;
3260
- codec?: CodecType;
3269
+ codec?: `${CodecType}`;
3261
3270
  enableH265Degrade: boolean;
3262
3271
  languageData: {
3263
3272
  extraLangList: IXGI18nText[];
3264
3273
  extendLangList: IXGI18nText[];
3265
3274
  };
3266
3275
  current: Current;
3267
- checkExpireInterval: number;
3268
- expireDetectType: Array<"xhrStatus" | "urlExpire" | "getUrlTime">;
3269
- onMediaExpired: () => Promise<IPlayerConfig>;
3276
+ onMediaExpired: () => Promise<SourceConfig>;
3270
3277
  onTokenExpired: () => Promise<IPlayAuthTokenConfig>;
3271
3278
  unionId?: string;
3272
3279
  unionInfo?: string;
@@ -3279,16 +3286,30 @@ declare class PlayerData {
3279
3286
  strategiesPlugins: any[];
3280
3287
  strategiesPluginConfigs: any;
3281
3288
  /**
3282
- * @brief direct-url播放模式时的默认清晰度
3283
3289
  * @default playList第一项
3284
3290
  */
3285
3291
  defaultDefinition: string;
3292
+ urlCheckData: {
3293
+ enableUrlExpireCheck: boolean;
3294
+ urlExpireTimestamp: number;
3295
+ urlExpireDiff: number;
3296
+ urlCheckExpireInterval: number;
3297
+ };
3286
3298
  constructor(configs: IPlayerConfig);
3299
+ /**
3300
+ * 初始化播放数据
3301
+ * @param configs { IPlayerConfig } 播放器配置
3302
+ */
3287
3303
  initPlayData(configs: IPlayerConfig): void;
3288
3304
  initPlaylistAndGetCurrent(configs: IPlayerConfig): Stream;
3289
3305
  isCurrentH265(): boolean;
3290
3306
  getCurrentByDefaultConfig(): Stream;
3291
- initCurrent(currentStreams: any): void;
3307
+ initCurrent(currentStreams: Stream): void;
3308
+ initCheckExpireData(): void;
3309
+ /**
3310
+ * 更新过期检测的数据
3311
+ */
3312
+ updateCheckExpireData(): void;
3292
3313
  initI18nData(languages: any): {
3293
3314
  extraLangList: any[];
3294
3315
  extendLangList: any[];
@@ -3296,11 +3317,17 @@ declare class PlayerData {
3296
3317
  /**
3297
3318
  * @description: 获取当前直播url
3298
3319
  */
3299
- getCurrentUrl(): string;
3320
+ getCurrentUrl(): Url;
3300
3321
  /**
3301
3322
  * @description: 获取当前的streamType
3302
3323
  */
3303
3324
  getCurrentStreamType(): any;
3325
+ getStreamType(): any;
3326
+ isOpenABR(streamType?: string): boolean;
3327
+ showRealDefinition(): boolean;
3328
+ isAutoDefinition(def: any): boolean;
3329
+ isPlayAutoDefinition(def?: string): any;
3330
+ isDefinitionMatch(pre: any, next: any): boolean;
3304
3331
  /**
3305
3332
  * @description: 获取满足当前直播条件的流
3306
3333
  */
@@ -3340,6 +3367,15 @@ declare class PlayerData {
3340
3367
  */
3341
3368
  get playDomain(): string;
3342
3369
  setVodTeaId(): void;
3370
+ /**
3371
+ * 更新configs,即更新用户的configs,常用于playNext时
3372
+ * @param newConfigs {IPlayerConfig} 要更新的配置
3373
+ */
3374
+ updateConfigs(newConfigs: IPlayerConfig): void;
3375
+ /**
3376
+ * 更新playList
3377
+ */
3378
+ updatePlayList(): void;
3343
3379
  }
3344
3380
  declare function isMSESupport(mime?: string): boolean;
3345
3381
  /**
@@ -3390,7 +3426,7 @@ declare enum UmdKeys {
3390
3426
  StreamProbe = "streamprobe",
3391
3427
  VeStrategy = "vestrategy",
3392
3428
  VeStrategyH265 = "vestrategy_h265",
3393
- Preloader = "preloader"
3429
+ DashAbralgo = "DashAbralgo"
3394
3430
  }
3395
3431
  /**
3396
3432
  * @hidden
@@ -3437,91 +3473,6 @@ declare class umdLoader {
3437
3473
  */
3438
3474
  loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
3439
3475
  }
3440
- export interface IPreloadConfig {
3441
- preloadCacheType: 0 | 1;
3442
- autoPreload: boolean;
3443
- autoCheckPreload: boolean;
3444
- autoCheck: {
3445
- enable: boolean;
3446
- interval: number;
3447
- };
3448
- preloadTime: number;
3449
- segmentMinDuration: number;
3450
- preloadMaxCacheCount: number;
3451
- }
3452
- export interface IPreloadConfigOptions extends IPreloadConfig {
3453
- enableMp4: boolean;
3454
- enableDash: boolean;
3455
- enableDebugger: boolean;
3456
- plugins: any[];
3457
- }
3458
- export interface IPreloadDataPayload {
3459
- vid: string;
3460
- vtype: string;
3461
- codecType: string;
3462
- payload: Array<{
3463
- url: {
3464
- src: string;
3465
- }[];
3466
- bitrate: number;
3467
- duration: number;
3468
- size: number;
3469
- definition: string;
3470
- }>;
3471
- defaultDefinition?: string;
3472
- duration?: number;
3473
- mediaType?: string;
3474
- bizType?: 0 | 1;
3475
- }
3476
- export interface IPreloadData {
3477
- data: IPreloadDataPayload;
3478
- order?: number;
3479
- }
3480
- declare class Preloader {
3481
- private inst;
3482
- private sdkUmdLoader;
3483
- private registerPromise;
3484
- constructor();
3485
- static get defaultConfig(): {
3486
- preloadCacheType: number;
3487
- autoPreload: boolean;
3488
- autoCheckPreload: boolean;
3489
- autoCheck: {
3490
- enable: boolean;
3491
- interval: number;
3492
- };
3493
- preloadTime: number;
3494
- isDegrade: boolean;
3495
- waitingTimeOut: number;
3496
- needAutoBitrate: boolean;
3497
- startPreloadMinBuffer: number;
3498
- startPreloadControl: boolean;
3499
- maxBufferLength: number;
3500
- minBufferLength: number;
3501
- removeBufferLen: number;
3502
- preloadMaxCacheCount: number;
3503
- startPreloadMinPosTime: number;
3504
- resumePlayWaterLevel: number;
3505
- onProcessMinLen: number;
3506
- needPreloadCheck: boolean;
3507
- forceVideoPlay: boolean;
3508
- segmentMinDuration: number;
3509
- timerInWorker: boolean;
3510
- tickInSeconds: number;
3511
- fixEditListOffset: boolean;
3512
- audioGroupingStrategy: number;
3513
- noPreloadAddBufferLen: number;
3514
- loadRangeType: string;
3515
- };
3516
- private initUmdLoader;
3517
- private _register;
3518
- register(config: Partial<IPreloadConfigOptions>): Promise<any>;
3519
- addList(preloadList: IPreloadData[]): Promise<void>;
3520
- updateConfig(config: Partial<IPreloadConfig>): Promise<void>;
3521
- attachPlayer(player: any): Promise<void>;
3522
- removeAll(): Promise<any>;
3523
- removeAllPreloadTask(): Promise<any>;
3524
- }
3525
3476
  /**
3526
3477
  * @hidden
3527
3478
  */
@@ -3609,25 +3560,9 @@ declare class VePlayer {
3609
3560
  private checkExpireTimer;
3610
3561
  /**
3611
3562
  * @hidden
3612
- *
3613
- * @type {*}
3614
- * @memberof VePlayer
3615
- */
3616
- private _playOriginalUrl;
3617
- /**
3618
- * @hidden
3619
- * 过期次数
3620
- * @type {*}
3621
- * @memberof VePlayer
3622
- */
3623
- private expireCount;
3624
- /**
3625
- * @hidden
3626
- * 获取url的时间
3627
- * @type {*}
3628
- * @memberof VePlayer
3563
+ * 上次触发过期的时间
3629
3564
  */
3630
- private getUrlTime;
3565
+ private emitExpireTimestamp;
3631
3566
  /**
3632
3567
  * @hidden
3633
3568
  * 延迟触发但错误
@@ -3635,7 +3570,6 @@ declare class VePlayer {
3635
3570
  * @memberof VePlayer
3636
3571
  */
3637
3572
  delayError: any[];
3638
- private isFirstEmitted;
3639
3573
  /**
3640
3574
  * @hidden
3641
3575
  * umd加载器
@@ -3655,7 +3589,6 @@ declare class VePlayer {
3655
3589
  * @hidden
3656
3590
  */
3657
3591
  static veStrategy: typeof VeStrategy;
3658
- static preloader: Preloader;
3659
3592
  /**
3660
3593
  * @brief SDK 版本
3661
3594
  * @type {*}
@@ -3671,6 +3604,14 @@ declare class VePlayer {
3671
3604
  targetProfileLevel?: string;
3672
3605
  }) => Promise<boolean>;
3673
3606
  private vodLogCommon;
3607
+ /**
3608
+ * @hidden
3609
+ * 延时触发的events,即保证在palyer创建之后才触发
3610
+ */
3611
+ delayEvents: Array<{
3612
+ name: string;
3613
+ payload: any;
3614
+ }>;
3674
3615
  /** {zh}
3675
3616
  * @brief 构造函数。
3676
3617
  * @param configs 播放器实例化配置。
@@ -3695,7 +3636,7 @@ declare class VePlayer {
3695
3636
  * @description 初始化过期检测
3696
3637
  * @memberof VePlayer
3697
3638
  */
3698
- initCheckExpire(): void;
3639
+ private _initCheckExpire;
3699
3640
  /**
3700
3641
  * @hidden
3701
3642
  * @description 更新umdLoader 的配置
@@ -3718,19 +3659,13 @@ declare class VePlayer {
3718
3659
  * @description 循环执行过期检测
3719
3660
  * @memberof VePlayer
3720
3661
  */
3721
- onRepeat(): void;
3662
+ private _onRepeat;
3722
3663
  /**
3723
3664
  * @hidden
3724
3665
  * @brief 触发过期事件
3725
3666
  * @memberof VePlayer
3726
3667
  */
3727
- emitExpireEvent(): void;
3728
- /**
3729
- * @hidden
3730
- * @brief 地址获取时间
3731
- * @memberof VePlayer
3732
- */
3733
- getUrlTimestamp(url: string): void;
3668
+ private _emitExpireEvent;
3734
3669
  /** {zh}
3735
3670
  * @brief 监听事件。
3736
3671
  * @memberof VePlayer
@@ -3787,7 +3722,7 @@ declare class VePlayer {
3787
3722
  createPlayer(): Promise<PlayerCore>;
3788
3723
  /** {zh}
3789
3724
  * @hidden
3790
- *
3725
+ * @brief 设置合并开发者的插件配置,如果开发者从初始化的configs里传了插件配置,则只用开发者的配置,并补齐其他参数
3791
3726
  * @param {IPlayerConfig} finalOptions
3792
3727
  * @return {void}
3793
3728
  * @memberof VePlayer
@@ -3824,6 +3759,7 @@ declare class VePlayer {
3824
3759
  DanmuPlugin?: any;
3825
3760
  LiveSubtitlesIconPlugin?: any;
3826
3761
  };
3762
+ private getStreamType;
3827
3763
  /**
3828
3764
  *
3829
3765
  * @private
@@ -3854,7 +3790,8 @@ declare class VePlayer {
3854
3790
  *
3855
3791
  * @memberof VePlayer
3856
3792
  */
3857
- emitDelayError(): void;
3793
+ private _emitDelayError;
3794
+ private _emitDelayEvent;
3858
3795
  /**
3859
3796
  * @hidden
3860
3797
  *
@@ -3870,19 +3807,22 @@ declare class VePlayer {
3870
3807
  */
3871
3808
  private _mountingPlayerPanel;
3872
3809
  /**
3873
- *
3874
3810
  *
3875
3811
  * @private
3876
3812
  * @return {*}
3877
3813
  * @memberof VePlayer
3878
3814
  */
3879
3815
  private _bindPlayerEvents;
3816
+ private _onError;
3880
3817
  /** {zh}
3881
3818
  * @private
3882
- * @return {*}
3883
- * @memberof VePlayer
3884
3819
  */
3885
- private onMediaExpiredAction;
3820
+ private _onMediaExpiredAction;
3821
+ /**
3822
+ * @brief 更新视频源,常用于地址过期时或者过期前更新视频地址及过期时间戳
3823
+ * @param source 视频资源配置,支持传入地址url、playList、getVideByToken以及过期检查的相关配置
3824
+ */
3825
+ updateMediaSource(source: SourceConfig): Promise<void>;
3886
3826
  /** {zh}
3887
3827
  * @hidden
3888
3828
  *
@@ -3941,25 +3881,25 @@ declare class VePlayer {
3941
3881
  * @param config `playAuthToken` 配置。
3942
3882
  */
3943
3883
  updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
3884
+ private _playerPlayNext;
3944
3885
  /** {zh}
3945
- * @brief 返回当前视频的地址
3886
+ * @brief 返回当前视频的地址。
3887
+ * @notice 多source下,返回video的currentSrc,即实际使用的source。MSE 播放时返回blob地址。
3946
3888
  * @memberof VePlayer
3947
3889
  */
3948
- get src(): any;
3890
+ get src(): string;
3949
3891
  /** {zh}
3950
3892
  * @brief 设置当前视频的地址
3951
3893
  * @notes 会重新拉取新的视频,从0开始起播
3952
3894
  * @memberof VePlayer
3953
3895
  */
3954
- set src(url: any);
3896
+ set src(url: Url);
3955
3897
  /** {zh}
3956
- * @notes 更换后,会从更换前的时间点继续播放。
3957
- * @return {Promise<void>}
3958
- * @memberof VePlayer
3959
3898
  * @brief 播放时更换视频 URL,以更换视频源。
3899
+ * @notes 更换后,会从更换前的时间点继续播放。
3960
3900
  * @param url 视频播放地址。
3961
3901
  */
3962
- switchURL(url: string): Promise<void>;
3902
+ switchURL(url: Url): Promise<void>;
3963
3903
  /** {zh}
3964
3904
  * @memberof VePlayer
3965
3905
  * @brief 针对不同格式的视频,重建播放器内核播放下一个视频。
@@ -3977,13 +3917,7 @@ declare class VePlayer {
3977
3917
  * @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
3978
3918
  */
3979
3919
  playNext(config: IPlayerConfig, isNewVideo?: boolean): Promise<any>;
3980
- /** {zh}
3981
- * @hidden
3982
- *
3983
- * @return {*}
3984
- * @memberof VePlayer
3985
- */
3986
- resetUrlState(url: any): void;
3920
+ private _playNext;
3987
3921
  /** {zh}
3988
3922
  * @brief 销毁xgplayer实例
3989
3923
  *
@@ -4007,7 +3941,7 @@ declare class VePlayer {
4007
3941
  getSoftDecodingOption(isOpenSoftDecoding: boolean, url: string, type: string): Promise<{
4008
3942
  mediaType?: string;
4009
3943
  innerDegrade?: number;
4010
- codecType?: CodecType;
3944
+ codecType?: `${CodecType}`;
4011
3945
  plugins?: any[];
4012
3946
  }>;
4013
3947
  /** {zh}
@@ -4770,11 +4704,11 @@ export declare const Events: {
4770
4704
  */
4771
4705
  PLAYER_EXTEND_BUTTON: string;
4772
4706
  /** {zh}
4773
- * @brief 长时间等待。
4707
+ * @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
4774
4708
  */
4775
4709
  LONG_WAITING: string;
4776
4710
  /** {zh}
4777
- * @brief 频繁等待。
4711
+ * @brief 发生频繁卡顿时触发。
4778
4712
  */
4779
4713
  OFTEN_WAITING: string;
4780
4714
  /** {zh}
@@ -4849,6 +4783,18 @@ export declare const Events: {
4849
4783
  * @brief 播放列表播放项变更。
4850
4784
  */
4851
4785
  PLAY_LIST_ITEM_CHANGE: string;
4786
+ /** {zh}
4787
+ * @brief playNext开始
4788
+ */
4789
+ PLAY_NEXT_START: string;
4790
+ /** {zh}
4791
+ * @brief playNext结束。
4792
+ */
4793
+ PLAY_NEXT_END: string;
4794
+ /** {zh}
4795
+ * @brief 自动挡档位改变。
4796
+ */
4797
+ ABR_AUTO_DESC_CHANGE: string;
4852
4798
  /** {zh}
4853
4799
  * @brief 播放器实例创建完成时触发。
4854
4800
  */
@@ -5038,9 +4984,14 @@ export declare const Events: {
5038
4984
  */
5039
4985
  DURATION_CHANGE: string;
5040
4986
  /** {zh}
4987
+ * @deprecated
5041
4988
  * @brief 媒体被清空(初始化)时触发。
5042
4989
  */
5043
4990
  EMPITED: string;
4991
+ /** {zh}
4992
+ * @brief 媒体被清空(初始化)时触发。
4993
+ */
4994
+ EMPTIED: string;
5044
4995
  /** {zh}
5045
4996
  * @brief 视频播放完毕时触发。
5046
4997
  */
@@ -5356,11 +5307,11 @@ export declare const Event: {
5356
5307
  */
5357
5308
  PLAYER_EXTEND_BUTTON: string;
5358
5309
  /** {zh}
5359
- * @brief 长时间等待。
5310
+ * @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
5360
5311
  */
5361
5312
  LONG_WAITING: string;
5362
5313
  /** {zh}
5363
- * @brief 频繁等待。
5314
+ * @brief 发生频繁卡顿时触发。
5364
5315
  */
5365
5316
  OFTEN_WAITING: string;
5366
5317
  /** {zh}
@@ -5435,6 +5386,18 @@ export declare const Event: {
5435
5386
  * @brief 播放列表播放项变更。
5436
5387
  */
5437
5388
  PLAY_LIST_ITEM_CHANGE: string;
5389
+ /** {zh}
5390
+ * @brief playNext开始
5391
+ */
5392
+ PLAY_NEXT_START: string;
5393
+ /** {zh}
5394
+ * @brief playNext结束。
5395
+ */
5396
+ PLAY_NEXT_END: string;
5397
+ /** {zh}
5398
+ * @brief 自动挡档位改变。
5399
+ */
5400
+ ABR_AUTO_DESC_CHANGE: string;
5438
5401
  };
5439
5402
  };
5440
5403
  export * from "xgplayer";