@volcengine/veplayer 1.8.6-rc.14 → 1.8.6-rc.15

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
@@ -787,21 +787,31 @@ export interface ITextItem {
787
787
  */
788
788
  export interface IDefinitionDemotePlugin {
789
789
  /**
790
- * 超时重试次数
791
- * 默认:3
790
+ * 是否开启自动降级
791
+ * 默认:false
792
792
  *
793
- * @type {number}
793
+ * @type {boolean}
794
794
  * @memberof IDefinitionDemotePlugin
795
795
  */
796
- oftenWaitingCount?: number;
796
+ isNeedAutoDemote?: boolean;
797
+ /**
798
+ * @brief 卡顿时是否展示toast
799
+ * @default true
800
+ */
801
+ isNeedShowTips?: boolean;
802
+ /**
803
+ * @brief 提醒降级的toast显示持续时间
804
+ */
805
+ toastShowTime?: number;
797
806
  /**
798
- * 设置经常超时时间
799
- * 默认:5000
800
807
  *
801
- * @type {number}
808
+ * 降级顺序,按照数组顺序依次降级,数字元素对应playList中的definition
809
+ * 默认: ['uhd', 'hd', 'sd', 'ld', 'ao']
810
+ *
811
+ * @type {string[]}
802
812
  * @memberof IDefinitionDemotePlugin
803
813
  */
804
- oftenWaitingTime?: number;
814
+ demotePriority?: string[];
805
815
  /**
806
816
  * 设置超时时间
807
817
  * 默认5000
@@ -811,22 +821,21 @@ export interface IDefinitionDemotePlugin {
811
821
  */
812
822
  longWaitingTime?: number;
813
823
  /**
814
- * 是否自动触发降级
815
- * 默认:false
824
+ * 超时重试次数
825
+ * 默认:3
816
826
  *
817
- * @type {boolean}
827
+ * @type {number}
818
828
  * @memberof IDefinitionDemotePlugin
819
829
  */
820
- isNeedAutoDemote?: boolean;
830
+ oftenWaitingCount?: number;
821
831
  /**
832
+ * 设置经常超时时间
833
+ * 默认:5000
822
834
  *
823
- * 降级顺序,按照数组顺序依次降级,数字元素对应playList中的definition
824
- * 默认: ['uhd', 'hd', 'sd', 'ld', 'ao']
825
- *
826
- * @type {string[]}
835
+ * @type {number}
827
836
  * @memberof IDefinitionDemotePlugin
828
837
  */
829
- demotePriority?: string[];
838
+ oftenWaitingTime?: number;
830
839
  }
831
840
  /**
832
841
  * @brief DASH 播放配置。
@@ -1631,7 +1640,7 @@ export declare class PlayListPlugin extends Plugin {
1631
1640
  get disable(): boolean;
1632
1641
  render(): string;
1633
1642
  }
1634
- export interface IPlayInfoList {
1643
+ export interface IPlayInfoListItem {
1635
1644
  BackupPlayUrl: string;
1636
1645
  BackupUrlExpire: string;
1637
1646
  BarrageMaskOffset: string;
@@ -1658,6 +1667,98 @@ export interface IPlayInfoList {
1658
1667
  Volume?: number;
1659
1668
  Width: number;
1660
1669
  }
1670
+ /**
1671
+ * @brief 动态水印配置。
1672
+ * @list Options
1673
+ * @kind property
1674
+ */
1675
+ /** {en}
1676
+ * @brief watermark config
1677
+ */
1678
+ export interface IWatermarkConfig {
1679
+ /**
1680
+ * @brief 是否开启水印
1681
+ * @default false
1682
+ */
1683
+ enable: boolean;
1684
+ /**
1685
+ * @brief 水印文案内容
1686
+ * @default -
1687
+ */
1688
+ content: string;
1689
+ /**
1690
+ * @brief 水印展示形式
1691
+ * - 0: 固定位置
1692
+ * - 1: 全屏滚动
1693
+ * - 2: 随机闪烁
1694
+ * @default 1
1695
+ */
1696
+ displayType: 0 | 1 | 2;
1697
+ /**
1698
+ * @brief 水印字体大小,number类型时单位为px,string类型需要携带单位
1699
+ * @default 12
1700
+ */
1701
+ fontSize: number | string;
1702
+ /**
1703
+ * @brief 水印字体颜色
1704
+ * @brief #FFFFFF
1705
+ */
1706
+ fontColor: string;
1707
+ /**
1708
+ * @brief 不透明度
1709
+ * @default 0.3
1710
+ */
1711
+ opacity: number;
1712
+ /**
1713
+ * @brief 水印闪烁速度
1714
+ * @default MODERATE
1715
+ * - MODERATE: 适中
1716
+ * - FAST: 较快
1717
+ * - SLOW: 较慢
1718
+ */
1719
+ tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
1720
+ /**
1721
+ * @brief 水印字体类型
1722
+ * @default -
1723
+ */
1724
+ fontFamily?: string;
1725
+ /**
1726
+ * @brief 水印相对于播放容器顶部起始位置,单位px
1727
+ * @default 0
1728
+ */
1729
+ top?: number;
1730
+ /**
1731
+ * @brief 水印相对于播放容器左侧起始位置,单位px
1732
+ * @default 0
1733
+ */
1734
+ left?: number;
1735
+ /**
1736
+ * @brief 水印相对于播放容器底部起始位置,单位px
1737
+ * @default -
1738
+ */
1739
+ bottom?: number;
1740
+ /**
1741
+ * @brief 水印相对于播放容器右侧起始位置,单位px
1742
+ * @default -
1743
+ */
1744
+ right?: number;
1745
+ }
1746
+ export declare class DynamicWatermarkPlugin extends Plugin {
1747
+ private wm;
1748
+ static get pluginName(): string;
1749
+ static get defaultConfig(): IWatermarkConfig & {
1750
+ position: string;
1751
+ };
1752
+ constructor(props: any);
1753
+ afterCreate(): void;
1754
+ start(): void;
1755
+ pause(): void;
1756
+ resume(): void;
1757
+ resize(): void;
1758
+ _initWatermark(): void;
1759
+ destroy(): void;
1760
+ render(): string | HTMLElement;
1761
+ }
1661
1762
  declare enum CodecType {
1662
1763
  /** {zh}
1663
1764
  * @brief H.265
@@ -1813,7 +1914,7 @@ export interface IMusicConfig {
1813
1914
  * @export
1814
1915
  * @interface Stream
1815
1916
  */
1816
- export interface Stream extends Partial<IPlayInfoList> {
1917
+ export interface Stream extends Partial<IPlayInfoListItem> {
1817
1918
  /** {zh}
1818
1919
  * @type {('rtm' | 'flv' | 'mp4' | 'hls')}
1819
1920
  * @memberof IPlayerConfig
@@ -1837,6 +1938,12 @@ export interface Stream extends Partial<IPlayInfoList> {
1837
1938
  * @brief 清晰度 key
1838
1939
  */
1839
1940
  definition?: string;
1941
+ /** {zh}
1942
+ * @type {string}
1943
+ * @memberof Stream
1944
+ * @brief 映射清晰度 key
1945
+ */
1946
+ mapDefinition?: string;
1840
1947
  /** {zh}
1841
1948
  * @type {string}
1842
1949
  * @memberof Stream
@@ -1980,7 +2087,7 @@ export interface IPlayerConfig extends IPlayerOptions {
1980
2087
  */
1981
2088
  autoplay?: boolean;
1982
2089
  /** {zh}
1983
- * @brief 视频封面图片的 URL。
2090
+ * @brief 视频封面图配置。
1984
2091
  */
1985
2092
  poster?: string | IPoster;
1986
2093
  /** {zh}
@@ -2346,8 +2453,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2346
2453
  */
2347
2454
  disableVodLogOptsCheck?: boolean;
2348
2455
  /** {zh}
2349
- * @hidden
2350
- * @brief 是否打开日志打印
2456
+ * @brief 是否开启调试模式
2351
2457
  * @default false
2352
2458
  */
2353
2459
  debug?: boolean;
@@ -2370,7 +2476,6 @@ export interface IPlayerConfig extends IPlayerOptions {
2370
2476
  DanmuPlugin?: IDanmuConfig | boolean;
2371
2477
  /** {zh}
2372
2478
  * @brief 清晰度自动降级配置
2373
- * @hidden
2374
2479
  * @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
2375
2480
  */
2376
2481
  DefinitionDemotePlugin?: IDefinitionDemotePlugin;
@@ -2431,6 +2536,16 @@ export interface IPlayerConfig extends IPlayerOptions {
2431
2536
  * @brief 播放列表配置。
2432
2537
  */
2433
2538
  playListPlugin?: IPlayListConfig;
2539
+ /** {zh}
2540
+ * @brief 动态水印配置
2541
+ * @default -
2542
+ */
2543
+ dynamicwatermark?: IWatermarkConfig;
2544
+ /** {zh}
2545
+ * @brief 进度条预览缩略图配置
2546
+ * @default -
2547
+ */
2548
+ thumbnail?: IThumbnailConfig;
2434
2549
  }
2435
2550
  /** {zh}
2436
2551
  * @hidden
@@ -2609,6 +2724,18 @@ export interface IPlayAuthTokenConfig {
2609
2724
  * @default 1
2610
2725
  */
2611
2726
  retryCount?: number;
2727
+ /** {zh}
2728
+ * @brief 清晰度自动降级开启时的自动档位,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo}返回的Definition字段
2729
+ * @notice 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
2730
+ * @default -
2731
+ */
2732
+ autoDemoteDefinition?: string;
2733
+ /** {zh}
2734
+ * @brief 清晰度自动降级开启时的自动档位对应的多语言文案key,即languages字段中对应语种的相应key
2735
+ * @notice 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
2736
+ * @default -
2737
+ */
2738
+ autoDemoteDefinitionTextKey?: string;
2612
2739
  }
2613
2740
  /** {zh}
2614
2741
  * @list Options
@@ -2707,16 +2834,6 @@ export interface IMemoryPlayConfig {
2707
2834
  * @default -
2708
2835
  */
2709
2836
  getTime?: (id: number | string) => number | Promise<number>;
2710
- /** {zh}
2711
- * @brief 判断是否播放了最小时间阈值,即如果播的时长太小,则不算做播放过,存储的时间进度为0
2712
- * @default 1
2713
- */
2714
- minStartTime?: number;
2715
- /** {zh}
2716
- * @brief 判断是否播放结束的最小时间阈值,即距离结束多少时间内算作播放结束,播放结束则不存储时间进度,且清空之前的进度为0
2717
- * @default 1
2718
- */
2719
- minEndTime?: number;
2720
2837
  }
2721
2838
  /** {zh}
2722
2839
  * @brief 插件按钮位置
@@ -2929,6 +3046,58 @@ export interface IPoster {
2929
3046
  */
2930
3047
  fillMode?: "fixWidth" | "fixHeight" | "cover" | "contain";
2931
3048
  }
3049
+ /** {zh}
3050
+ * @list Options
3051
+ * @brief 进度条预览缩略图配置
3052
+ * @kind property
3053
+ */
3054
+ export interface IThumbnailConfig {
3055
+ /** {zh}
3056
+ * @brief 雪碧图截图地址数组
3057
+ * @default -
3058
+ */
3059
+ urls: Array<string>;
3060
+ /** {zh}
3061
+ * @brief 雪碧图中小图总数目
3062
+ * @default -
3063
+ */
3064
+ pic_num: number;
3065
+ /** {zh}
3066
+ * @brief 雪碧图每张大图中小图列数
3067
+ * @default -
3068
+ */
3069
+ col: number;
3070
+ /** {zh}
3071
+ * @brief 雪碧图每张大图中小图行数
3072
+ * @default -
3073
+ */
3074
+ row: number;
3075
+ /** {zh}
3076
+ * @brief 雪碧图每张小图的高度
3077
+ * @default -
3078
+ */
3079
+ height?: number;
3080
+ /** {zh}
3081
+ * @brief 雪碧图每张小图的宽度
3082
+ * @default -
3083
+ */
3084
+ width?: number;
3085
+ /** {zh}
3086
+ * @brief 显示缩放比例
3087
+ * @default 1
3088
+ */
3089
+ scale?: 1;
3090
+ /** {zh}
3091
+ * @brief 额外添加在dom上的class
3092
+ * @default -
3093
+ */
3094
+ className?: string;
3095
+ /** {zh}
3096
+ * @brief 是否在竖屏的时候隐藏
3097
+ * @default false
3098
+ */
3099
+ hidePortrait?: false;
3100
+ }
2932
3101
  /**
2933
3102
  * @brief api map
2934
3103
  * @hidden
@@ -3055,9 +3224,10 @@ declare class PlayerData {
3055
3224
  getUrlList(condition: Condition): Stream[];
3056
3225
  /**
3057
3226
  * @description: 获取当期清晰的上一级清晰度或下一级清晰度
3058
- * @param {boolean} isDown
3227
+ * @param {boolean} isDown 是否取下一级清晰度
3228
+ * @param {string[]} demotePriority 清晰度降级顺序
3059
3229
  */
3060
- getNextDefinition(isDown: boolean, demotePriority: any): Stream[];
3230
+ getNextDefinition(isDown: boolean, demotePriority: string[]): Stream[];
3061
3231
  /**
3062
3232
  * 获取api map
3063
3233
  * @return { ApiMapConfig }
@@ -3196,7 +3366,7 @@ declare class VePlayer {
3196
3366
  * @type {*}
3197
3367
  * @memberof VePlayer
3198
3368
  */
3199
- mountingDom: any;
3369
+ mountingDom: Element;
3200
3370
  /** {zh}
3201
3371
  * @hidden
3202
3372
  *
@@ -4094,51 +4264,15 @@ export declare class Subtitle extends Plugin {
4094
4264
  destroy(): void;
4095
4265
  render(): string;
4096
4266
  }
4097
- export interface WatermarkConfig {
4098
- enable: boolean;
4099
- content: string;
4100
- displayType: 0 | 1 | 2;
4101
- fontSize: number | string;
4102
- fontColor: string;
4103
- opacity: number;
4104
- tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
4105
- fontFamily?: string;
4106
- top?: number;
4107
- left?: number;
4108
- bottom?: number;
4109
- right?: number;
4110
- }
4111
- export declare class DynamicWatermarkPlugin extends Plugin {
4112
- private wm;
4113
- static get pluginName(): string;
4114
- static get defaultConfig(): WatermarkConfig & {
4115
- position: string;
4116
- };
4117
- constructor(props: any);
4118
- afterCreate(): void;
4119
- start(): void;
4120
- pause(): void;
4121
- resume(): void;
4122
- resize(): void;
4123
- _initWatermark(): void;
4124
- destroy(): void;
4125
- render(): string | HTMLElement;
4126
- }
4127
4267
  export declare class DefinitionDemotePlugin extends Plugin {
4128
4268
  static get pluginName(): string;
4129
4269
  waitings: number[];
4130
- timer: any;
4270
+ timer: ReturnType<typeof setTimeout>;
4271
+ toastId: number;
4131
4272
  longWaitingEmitTime: number;
4132
4273
  waitingStartTime: number;
4133
- playerData: any;
4134
- isNeedShowTips: boolean;
4135
- static get defaultConfig(): {
4136
- oftenWaitingCount: number;
4137
- oftenWaitingTime: number;
4138
- longWaitingTime: number;
4139
- isNeedAutoDemote: boolean;
4140
- demotePriority: any[];
4141
- };
4274
+ playerData: PlayerData;
4275
+ static get defaultConfig(): IDefinitionDemotePlugin;
4142
4276
  constructor(args: any);
4143
4277
  registerLanguageTexts(): {
4144
4278
  definition_demote_txt: {
@@ -4157,8 +4291,8 @@ export declare class DefinitionDemotePlugin extends Plugin {
4157
4291
  _clearTime(): void;
4158
4292
  clearState(): void;
4159
4293
  demote(): void;
4160
- changeUrl(url: any): void;
4161
- showToast(definition: any): void;
4294
+ changeUrl(url: string): void;
4295
+ showToast(definition: Stream): void;
4162
4296
  destroy(): void;
4163
4297
  }
4164
4298
  export declare class TimeShiftPlugin extends Plugin {
@@ -4292,12 +4426,16 @@ declare class ToastPlugin extends Plugin {
4292
4426
  }
4293
4427
  export declare class MemoryPlay extends Plugin {
4294
4428
  static get pluginName(): string;
4295
- static get defaultConfig(): IMemoryPlayConfig;
4429
+ static get defaultConfig(): {
4430
+ getTime: any;
4431
+ saveTime: any;
4432
+ memoryId: string;
4433
+ };
4296
4434
  startTime: number;
4297
4435
  saveTimeFun: (id: number | string, time: number) => unknown;
4298
4436
  getTimeFun: (id: number | string) => number | Promise<number>;
4299
4437
  memoryId: number | string;
4300
- shouldShowToast: boolean;
4438
+ canJump: boolean;
4301
4439
  constructor(args: any);
4302
4440
  registerLanguageTexts(): {
4303
4441
  preText: {
@@ -4312,14 +4450,12 @@ export declare class MemoryPlay extends Plugin {
4312
4450
  };
4313
4451
  afterCreate(): void;
4314
4452
  beforePlayerInit(): Promise<void>;
4453
+ destroy(): void;
4315
4454
  getTime(): Promise<void>;
4316
- saveTime(): void;
4317
- visibilitychangeCallback(): void;
4318
4455
  setSave(): void;
4319
4456
  showToast(): void;
4320
- saveTimeByStorage(memoryId: string, time: number): void;
4321
- getTimeByStorage(memoryId: string): string;
4322
- destroy(): void;
4457
+ saveTimeByStorage(memoryId: any, time: any): void;
4458
+ getTimeByStorage(memoryId: any): string;
4323
4459
  }
4324
4460
  export declare type InfoItem = {
4325
4461
  key: string;