@volcengine/veplayer 1.15.3-rc.31 → 1.15.3-rc.32

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 (41) hide show
  1. package/README.md +13 -0
  2. package/index.d.ts +225 -123
  3. package/index.min.js +2 -2
  4. package/lite.cjs +2 -0
  5. package/lite.cjs.css +1 -0
  6. package/lite.d.ts +366 -0
  7. package/lite.esm.css +1 -0
  8. package/lite.esm.mjs +2 -0
  9. package/lite.min.css +1 -0
  10. package/lite.min.js +2 -0
  11. package/package.json +25 -1
  12. package/plugin/modules/DashAbralgo.d.ts +2 -0
  13. package/plugin/modules/DashAbralgo.mjs +2 -0
  14. package/plugin/modules/XGVideo.d.ts +2 -0
  15. package/plugin/modules/XGVideo.mjs +2 -0
  16. package/plugin/modules/danmuMask.d.ts +2 -0
  17. package/plugin/modules/danmuMask.mjs +2 -0
  18. package/plugin/modules/danmujs.d.ts +2 -0
  19. package/plugin/modules/danmujs.mjs +3 -0
  20. package/plugin/modules/dash.d.ts +2 -0
  21. package/plugin/modules/dash.mjs +2 -0
  22. package/plugin/modules/flv.d.ts +2 -0
  23. package/plugin/modules/flv.mjs +2 -0
  24. package/plugin/modules/hls.d.ts +2 -0
  25. package/plugin/modules/hls.mjs +2 -0
  26. package/plugin/modules/hlsEncrypt.d.ts +2 -0
  27. package/plugin/modules/hlsEncrypt.mjs +2 -0
  28. package/plugin/modules/mp4Encrypt.d.ts +2 -0
  29. package/plugin/modules/mp4Encrypt.mjs +2 -0
  30. package/plugin/modules/preloader.d.ts +2 -0
  31. package/plugin/modules/preloader.mjs +2 -0
  32. package/plugin/modules/streamprobe.d.ts +2 -0
  33. package/plugin/modules/streamprobe.mjs +2 -0
  34. package/plugin/modules/vestrategy.d.ts +2 -0
  35. package/plugin/modules/vestrategy.mjs +2 -0
  36. package/plugin/modules/vestrategy_adapt_range.d.ts +2 -0
  37. package/plugin/modules/vestrategy_adapt_range.mjs +2 -0
  38. package/plugin/modules/vestrategy_h265.d.ts +2 -0
  39. package/plugin/modules/vestrategy_h265.mjs +2 -0
  40. package/plugin/modules/vestrategy_preload.d.ts +2 -0
  41. package/plugin/modules/vestrategy_preload.mjs +2 -0
package/README.md CHANGED
@@ -13,6 +13,19 @@ import VePlayer from '@volcengine/veplayer';
13
13
  import '@volcengine/veplayer/index.min.css';
14
14
  ```
15
15
 
16
+ ### 精简版(Lite)
17
+
18
+ Lite 版本面向仅需点播(VOD)能力的场景,可通过同一包的子路径引入。
19
+
20
+ ```javascript
21
+ import VePlayer from '@volcengine/veplayer/lite';
22
+ import '@volcengine/veplayer/lite.css';
23
+ ```
24
+
25
+ Lite 仅支持点播;直播、弹幕、音乐、广告和 RTM plugin 均不可用。配置或启用这些能力会在启动阶段被明确拒绝并报错;请改用完整版 `@volcengine/veplayer`。
26
+
27
+ Lite 为现代浏览器构建,不支持 IE11 或旧版 polyfill;完整版仍保持原有兼容策略。
28
+
16
29
  ### 添加播放容器
17
30
  在需要展示播放器的页面添加播放器容器,例如,在 index.html 中加入以下代码。
18
31
  ```javascript
package/index.d.ts CHANGED
@@ -4754,7 +4754,7 @@ export declare type IPreloadAuthTokenStream = {
4754
4754
  export declare type IPreloadStream = IPreloadResolvedStream | IPreloadDramaStream | IPreloadAuthTokenStream;
4755
4755
  declare class VeStrategyWrapper {
4756
4756
  private tea;
4757
- private static mapStrategyNameToUmdKey;
4757
+ private collector;
4758
4758
  teaId: number;
4759
4759
  teaChannel: TLogChannel;
4760
4760
  preloader: PreloaderManagerOrigin | undefined;
@@ -4788,7 +4788,102 @@ declare class VeStrategyWrapper {
4788
4788
  private initPreloaderConfig;
4789
4789
  }
4790
4790
  declare const _default: VeStrategyWrapper;
4791
- declare enum UmdKeys {
4791
+ /** {zh}
4792
+ * @hidden
4793
+ */
4794
+ export declare type IRes = IGetPlayInfoRes & {
4795
+ Data: IGetPlayInfoRes & {
4796
+ VideoID?: string;
4797
+ };
4798
+ };
4799
+ declare enum VideoFileTypes {
4800
+ VIDEO = "video",
4801
+ EVIDEO = "evideo",
4802
+ DRM_EVIDEO = "drm_evideo"
4803
+ }
4804
+ declare enum AudioFileTypes {
4805
+ AUDIO = "audio",
4806
+ EAUDIO = "eaudio",
4807
+ DRM_AUDIO = "drm_eaudio"
4808
+ }
4809
+ export interface ITokenInfo {
4810
+ Action?: string;
4811
+ Codec?: ICodecType;
4812
+ FileType?: VideoFileTypes | AudioFileTypes;
4813
+ Format?: string;
4814
+ Ssl?: 0 | 1;
4815
+ Version?: string;
4816
+ Vid?: string;
4817
+ "X-Algorithm"?: string;
4818
+ "X-Credential"?: string;
4819
+ "X-Expires"?: number | string;
4820
+ "X-Date"?: string;
4821
+ "X-Signature"?: string;
4822
+ "X-SignedQueries"?: string;
4823
+ DrmType?: string;
4824
+ PlayAuthIds?: string;
4825
+ [propName: string]: string | number;
4826
+ }
4827
+ /** {zh}
4828
+ * @hidden
4829
+ */
4830
+ export interface IDefItem extends Stream {
4831
+ vid: string;
4832
+ lineId?: number;
4833
+ lineName?: string;
4834
+ url: string;
4835
+ streamType: string;
4836
+ backupUrl: string;
4837
+ backUrlList: string[];
4838
+ fileType?: "video" | "audio" | "evideo" | "eaudio";
4839
+ format: string;
4840
+ bitrate?: number;
4841
+ size?: number;
4842
+ kid?: string;
4843
+ vwidth?: number;
4844
+ vheight?: number;
4845
+ }
4846
+ /** {zh}
4847
+ * @hidden
4848
+ */
4849
+ export interface VideoInfoRes {
4850
+ playList: IDefItem[];
4851
+ type?: string;
4852
+ poster: string;
4853
+ vid: string;
4854
+ duration: number;
4855
+ dashOpts: IRes | {
4856
+ Data: IRes;
4857
+ };
4858
+ thumbs: IThumbInfoItem[];
4859
+ barrageMaskUrl: string;
4860
+ enableAdaptive?: boolean;
4861
+ adaptiveBitrateStreamingInfo?: ABRInfo;
4862
+ }
4863
+ export interface ICreatePlayerPerfTiming {
4864
+ name: string;
4865
+ duration: number;
4866
+ }
4867
+ export interface ICreatePlayerPerfReport {
4868
+ totalDuration: number;
4869
+ timings: ICreatePlayerPerfTiming[];
4870
+ timingMap: Record<string, number>;
4871
+ }
4872
+ declare class CreatePlayerPerfCollector {
4873
+ private now;
4874
+ private startAt;
4875
+ private timings;
4876
+ private timingMap;
4877
+ constructor();
4878
+ markDuration(name: string, durationMs: number): void;
4879
+ measure<T>(name: string, fn: () => T): T;
4880
+ measureAsync<T>(name: string, fn: () => Promise<T>): Promise<T>;
4881
+ finish(): ICreatePlayerPerfReport;
4882
+ }
4883
+ export declare type CollectorConstructor = new (name: string) => any;
4884
+ declare function isMSESupport(mime?: string): boolean;
4885
+ /** UMD modules that can be loaded or explicitly pre-registered. */
4886
+ export declare enum UmdKeys {
4792
4887
  HLS = "hls",
4793
4888
  FLV = "flv",
4794
4889
  XGVideo = "XGVideo",
@@ -4805,11 +4900,17 @@ declare enum UmdKeys {
4805
4900
  DashAbralgo = "DashAbralgo",
4806
4901
  Preloader = "preloader"
4807
4902
  }
4903
+ /** Resolved UMD module values keyed by their public UMD key. */
4904
+ export declare type UmdModules = Partial<Record<UmdKeys, unknown>>;
4905
+ /**
4906
+ * @hidden
4907
+ * @breif umdmap 的keys
4908
+ */
4808
4909
  /**
4809
4910
  * @hidden
4810
- * @breif umdmap 配置
4911
+ * @breif umdmap 单项配置
4811
4912
  */
4812
- export declare type UMDMap = Record<UmdKeys, {
4913
+ export interface UMDMapEntry {
4813
4914
  /**
4814
4915
  * umd Module 的名称,即在window下暴露的接口名称
4815
4916
  */
@@ -4826,10 +4927,20 @@ export declare type UMDMap = Record<UmdKeys, {
4826
4927
  * npm包中umd入口文件路径,用于打包上传到cdn目录
4827
4928
  */
4828
4929
  devPath: string;
4829
- }>;
4930
+ }
4931
+ /**
4932
+ * @hidden
4933
+ * @breif umdmap 配置;精简构建可只提供其支持的依赖。
4934
+ */
4935
+ export declare type UMDMap = Partial<Record<UmdKeys, UMDMapEntry>>;
4830
4936
  declare class UMDLoader {
4831
4937
  private static jsLoadMap;
4832
4938
  private static jsLoadPromiseMap;
4939
+ private static registeredModules;
4940
+ /**
4941
+ * 注册业务已打包的 UMD 模块。注册值优先于缓存、window 全局和 script 加载。
4942
+ */
4943
+ static registerModules(modules: UmdModules): void;
4833
4944
  /** 清除指定插件的加载缓存,使下次 loadPlugins 重新触发加载(用于修复首次加载失败的情况) */
4834
4945
  clearPluginCache(pluginName: UmdKeys): void;
4835
4946
  umdMap: UMDMap;
@@ -5437,6 +5548,10 @@ export interface EncryptInfo {
5437
5548
  unionInfo: string;
5438
5549
  }
5439
5550
  declare class VePlayer {
5551
+ /**
5552
+ * 注册业务已打包的 UMD 模块,供所有后续创建的播放器共享使用。
5553
+ */
5554
+ static registerModules(modules: UmdModules): void;
5440
5555
  /** {zh}
5441
5556
  * @brief 播放相关配置数据
5442
5557
  * @hidden
@@ -5630,6 +5745,15 @@ declare class VePlayer {
5630
5745
  * @param enable Whether to enable verbose logs
5631
5746
  */
5632
5747
  static setDebug(enable: boolean): void;
5748
+ /** {zh}
5749
+ * @brief 设置可选的 Tea Collector 构造函数。传入 undefined 可清除后续实例的注册。
5750
+ * @param Collector Tea Collector 构造函数
5751
+ */
5752
+ /** {en}
5753
+ * @brief Set the optional Tea Collector constructor. Pass undefined to clear it for subsequent instances.
5754
+ * @param Collector Tea Collector constructor
5755
+ */
5756
+ static setCollector(Collector?: CollectorConstructor): void;
5633
5757
  /**
5634
5758
  * @hidden
5635
5759
  */
@@ -5699,6 +5823,8 @@ declare class VePlayer {
5699
5823
  * @param configs 播放器实例化配置。
5700
5824
  */
5701
5825
  constructor(configs: IPlayerConfig);
5826
+ /** @hidden */
5827
+ assertLiteConfig(config?: Partial<IPlayerConfig>): void;
5702
5828
  /**
5703
5829
  *
5704
5830
  * @hidden
@@ -6746,6 +6872,53 @@ export declare class MirrorPlugin extends Plugin {
6746
6872
  render(): string;
6747
6873
  }
6748
6874
  export declare const Events: {
6875
+ /** {zh}
6876
+ * @brief 自动播放成功。
6877
+ */
6878
+ AUTOPLAY_SUCCESS: string;
6879
+ /** {zh}
6880
+ * @brief 自动播放失败。
6881
+ */
6882
+ AUTOPLAY_FAILED: string;
6883
+ /** {zh}
6884
+ * @brief 右键菜单事件。事件 `data` 中包含具体信息。
6885
+ */
6886
+ MENU_LOG: string;
6887
+ /** {zh}
6888
+ * @brief 点击了右键菜单的反馈按钮。
6889
+ */
6890
+ MENU_REPORT: string;
6891
+ /** {zh}
6892
+ * @brief 播放列表更新。
6893
+ */
6894
+ PLAY_LIST_CHANGE: string;
6895
+ /** {zh}
6896
+ * @brief 播放列表播放项变更。
6897
+ */
6898
+ PLAY_LIST_ITEM_CHANGE: string;
6899
+ /** {zh}
6900
+ * @brief `playNext` 开始。
6901
+ */
6902
+ PLAY_NEXT_START: string;
6903
+ /** {zh}
6904
+ * @brief `playNext` 结束。
6905
+ */
6906
+ PLAY_NEXT_END: string;
6907
+ /** {zh}
6908
+ * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
6909
+ */
6910
+ ABR_AUTO_DESC_CHANGE: string;
6911
+ /** {zh}
6912
+ * @brief mp4 加密插件命中预加载数据时触发。data 为预加载缓存对象,含 `byteLength`、`duration`、`mediaSegList` 等字段。
6913
+ */
6914
+ /** {en}
6915
+ * @brief Fired when the mp4 encrypt plugin finds a preload cache hit. The event data is the preload cache object, including fields such as `byteLength`, `duration`, and `mediaSegList`.
6916
+ */
6917
+ PRELOAD_INFO: string;
6918
+ TIME_SCALE_CHANGE?: string;
6919
+ MUSIC_MODE_CHANGE?: string;
6920
+ MUSIC_CHANGE?: string;
6921
+ MUSIC_LIST_CHANGE?: string;
6749
6922
  /** {zh}
6750
6923
  * @brief 弹幕配置发生变化。
6751
6924
  */
@@ -6834,65 +7007,6 @@ export declare const Events: {
6834
7007
  * @brief 镜像开启。
6835
7008
  */
6836
7009
  MIRROR_CHANGE: string;
6837
- /** {zh}
6838
- * @brief 音乐播放器快进或快退。
6839
- */
6840
- TIME_SCALE_CHANGE: string;
6841
- /** {zh}
6842
- * @brief 音乐播放模式切换。
6843
- */
6844
- MUSIC_MODE_CHANGE: string;
6845
- /** {zh}
6846
- * @brief 音乐播放模式下切换音乐。
6847
- */
6848
- MUSIC_CHANGE: string;
6849
- /** {zh}
6850
- * @brief 音乐播放列表发生变化。
6851
- */
6852
- MUSIC_LIST_CHANGE: string;
6853
- /** {zh}
6854
- * @brief 自动播放成功。
6855
- */
6856
- AUTOPLAY_SUCCESS: string;
6857
- /** {zh}
6858
- * @brief 自动播放失败。
6859
- */
6860
- AUTOPLAY_FAILED: string;
6861
- /** {zh}
6862
- * @brief 右键菜单事件。事件 `data` 中包含具体信息。
6863
- */
6864
- MENU_LOG: string;
6865
- /** {zh}
6866
- * @brief 点击了右键菜单的反馈按钮。
6867
- */
6868
- MENU_REPORT: string;
6869
- /** {zh}
6870
- * @brief 播放列表更新。
6871
- */
6872
- PLAY_LIST_CHANGE: string;
6873
- /** {zh}
6874
- * @brief 播放列表播放项变更。
6875
- */
6876
- PLAY_LIST_ITEM_CHANGE: string;
6877
- /** {zh}
6878
- * @brief `playNext` 开始。
6879
- */
6880
- PLAY_NEXT_START: string;
6881
- /** {zh}
6882
- * @brief `playNext` 结束。
6883
- */
6884
- PLAY_NEXT_END: string;
6885
- /** {zh}
6886
- * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
6887
- */
6888
- ABR_AUTO_DESC_CHANGE: string;
6889
- /** {zh}
6890
- * @brief mp4 加密插件命中预加载数据时触发。data 为预加载缓存对象,含 `byteLength`、`duration`、`mediaSegList` 等字段。
6891
- */
6892
- /** {en}
6893
- * @brief Fired when the mp4 encrypt plugin finds a preload cache hit. The event data is the preload cache object, including fields such as `byteLength`, `duration`, and `mediaSegList`.
6894
- */
6895
- PRELOAD_INFO: string;
6896
7010
  /** {zh}
6897
7011
  * @brief 播放器实例创建完成时触发。
6898
7012
  */
@@ -7446,6 +7560,53 @@ export declare const Event: {
7446
7560
  LICENSE_STATUS_WARNING: string;
7447
7561
  };
7448
7562
  PluginEvents: {
7563
+ /** {zh}
7564
+ * @brief 自动播放成功。
7565
+ */
7566
+ AUTOPLAY_SUCCESS: string;
7567
+ /** {zh}
7568
+ * @brief 自动播放失败。
7569
+ */
7570
+ AUTOPLAY_FAILED: string;
7571
+ /** {zh}
7572
+ * @brief 右键菜单事件。事件 `data` 中包含具体信息。
7573
+ */
7574
+ MENU_LOG: string;
7575
+ /** {zh}
7576
+ * @brief 点击了右键菜单的反馈按钮。
7577
+ */
7578
+ MENU_REPORT: string;
7579
+ /** {zh}
7580
+ * @brief 播放列表更新。
7581
+ */
7582
+ PLAY_LIST_CHANGE: string;
7583
+ /** {zh}
7584
+ * @brief 播放列表播放项变更。
7585
+ */
7586
+ PLAY_LIST_ITEM_CHANGE: string;
7587
+ /** {zh}
7588
+ * @brief `playNext` 开始。
7589
+ */
7590
+ PLAY_NEXT_START: string;
7591
+ /** {zh}
7592
+ * @brief `playNext` 结束。
7593
+ */
7594
+ PLAY_NEXT_END: string;
7595
+ /** {zh}
7596
+ * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
7597
+ */
7598
+ ABR_AUTO_DESC_CHANGE: string;
7599
+ /** {zh}
7600
+ * @brief mp4 加密插件命中预加载数据时触发。data 为预加载缓存对象,含 `byteLength`、`duration`、`mediaSegList` 等字段。
7601
+ */
7602
+ /** {en}
7603
+ * @brief Fired when the mp4 encrypt plugin finds a preload cache hit. The event data is the preload cache object, including fields such as `byteLength`, `duration`, and `mediaSegList`.
7604
+ */
7605
+ PRELOAD_INFO: string;
7606
+ TIME_SCALE_CHANGE?: string;
7607
+ MUSIC_MODE_CHANGE?: string;
7608
+ MUSIC_CHANGE?: string;
7609
+ MUSIC_LIST_CHANGE?: string;
7449
7610
  /** {zh}
7450
7611
  * @brief 弹幕配置发生变化。
7451
7612
  */
@@ -7534,65 +7695,6 @@ export declare const Event: {
7534
7695
  * @brief 镜像开启。
7535
7696
  */
7536
7697
  MIRROR_CHANGE: string;
7537
- /** {zh}
7538
- * @brief 音乐播放器快进或快退。
7539
- */
7540
- TIME_SCALE_CHANGE: string;
7541
- /** {zh}
7542
- * @brief 音乐播放模式切换。
7543
- */
7544
- MUSIC_MODE_CHANGE: string;
7545
- /** {zh}
7546
- * @brief 音乐播放模式下切换音乐。
7547
- */
7548
- MUSIC_CHANGE: string;
7549
- /** {zh}
7550
- * @brief 音乐播放列表发生变化。
7551
- */
7552
- MUSIC_LIST_CHANGE: string;
7553
- /** {zh}
7554
- * @brief 自动播放成功。
7555
- */
7556
- AUTOPLAY_SUCCESS: string;
7557
- /** {zh}
7558
- * @brief 自动播放失败。
7559
- */
7560
- AUTOPLAY_FAILED: string;
7561
- /** {zh}
7562
- * @brief 右键菜单事件。事件 `data` 中包含具体信息。
7563
- */
7564
- MENU_LOG: string;
7565
- /** {zh}
7566
- * @brief 点击了右键菜单的反馈按钮。
7567
- */
7568
- MENU_REPORT: string;
7569
- /** {zh}
7570
- * @brief 播放列表更新。
7571
- */
7572
- PLAY_LIST_CHANGE: string;
7573
- /** {zh}
7574
- * @brief 播放列表播放项变更。
7575
- */
7576
- PLAY_LIST_ITEM_CHANGE: string;
7577
- /** {zh}
7578
- * @brief `playNext` 开始。
7579
- */
7580
- PLAY_NEXT_START: string;
7581
- /** {zh}
7582
- * @brief `playNext` 结束。
7583
- */
7584
- PLAY_NEXT_END: string;
7585
- /** {zh}
7586
- * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
7587
- */
7588
- ABR_AUTO_DESC_CHANGE: string;
7589
- /** {zh}
7590
- * @brief mp4 加密插件命中预加载数据时触发。data 为预加载缓存对象,含 `byteLength`、`duration`、`mediaSegList` 等字段。
7591
- */
7592
- /** {en}
7593
- * @brief Fired when the mp4 encrypt plugin finds a preload cache hit. The event data is the preload cache object, including fields such as `byteLength`, `duration`, and `mediaSegList`.
7594
- */
7595
- PRELOAD_INFO: string;
7596
7698
  };
7597
7699
  };
7598
7700
  export * from "xgplayer";