@byteplus/veplayer 1.10.0-rc.0 → 1.10.0-rc.10

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
@@ -2,7 +2,7 @@ import VeStrategy from '@byted/volcengine-vestrategy';
2
2
  import { StrategyRecommendation } from '@byted/volcengine-vestrategy';
3
3
  import { VeStrategyH265Config } from '@byted/volcengine-vestrategy-h265';
4
4
  import { PreloaderManager as PreloaderManagerOrigin } from '@byted/volcengine-vestrategy-preload';
5
- import VodLogger from '@byted/xgplayer-app-logger/es/logger.js';
5
+ import VodLogger from '@byted/xgplayer-app-logger/es/logger';
6
6
  import EventEmitter from 'eventemitter3';
7
7
  import Player from 'xgplayer';
8
8
  import { BasePlugin, I18N, IXGI18nText, Plugin } from 'xgplayer';
@@ -500,7 +500,7 @@ export interface ISubtitleConfig {
500
500
  export interface ISubtitleStyle {
501
501
  /**
502
502
  * 是否跟随控制栏调整位置
503
- * @default true
503
+ * @default false
504
504
  * @type {boolean | null}
505
505
  * @memberof ISubtitleStyle
506
506
  * @brief 是否跟随控制栏调整位置。
@@ -508,7 +508,7 @@ export interface ISubtitleStyle {
508
508
  /** {en}
509
509
  * @brief 是否跟随控制栏调整位置
510
510
  */
511
- follow: boolean | null;
511
+ follow?: boolean;
512
512
  /**
513
513
  * 字体显示模式,默认是描边
514
514
  * @default 'stroke'
@@ -1253,6 +1253,75 @@ export declare type IDefinition = {
1253
1253
  [propName: string]: any;
1254
1254
  };
1255
1255
  };
1256
+ /**
1257
+ * @brief 音量配置。
1258
+ * @list Options
1259
+ * @kind property
1260
+ */
1261
+ export declare type IVolume = number | {
1262
+ /**
1263
+ * @brief 插件Dom挂载的位置,默认播放器底部控制栏右侧
1264
+ * @default POSITIONS.CONTROLS_RIGHT
1265
+ */
1266
+ position?: POSITIONS;
1267
+ /**
1268
+ * @brief 插件在挂载的位置的排序权重
1269
+ * @default 1
1270
+ */
1271
+ index?: number;
1272
+ /**
1273
+ * @brief 是否禁用插件交互行为,即是否隐藏音量调节按钮
1274
+ * @default false
1275
+ */
1276
+ disable?: boolean;
1277
+ /**
1278
+ * @brief 是否在音量调节slider上方显示当前音量数值
1279
+ * @default false
1280
+ */
1281
+ showValueLabel?: boolean;
1282
+ /**
1283
+ * @brief 默认音量大小,取值范围0-1
1284
+ * @default 0.6
1285
+ */
1286
+ default?: number;
1287
+ /**
1288
+ * @brief 静音恢复的时候最小音量
1289
+ * @default 0.2
1290
+ */
1291
+ miniVolume?: number;
1292
+ };
1293
+ /**
1294
+ * @brief 进度条标记点配置。
1295
+ * @list Options
1296
+ * @kind property
1297
+ */
1298
+ export interface IDot {
1299
+ /**
1300
+ * @brief 进度条标记点
1301
+ * @default 1
1302
+ */
1303
+ id: string | number;
1304
+ /**
1305
+ * @brief 标记点所在的播放时间
1306
+ * @default 0
1307
+ */
1308
+ time: number;
1309
+ /**
1310
+ * @brief 进度条自定义文案
1311
+ * @default -
1312
+ */
1313
+ text?: string;
1314
+ /**
1315
+ * @brief 标记点持续的时间,单位秒
1316
+ * @default 1
1317
+ */
1318
+ duration?: number;
1319
+ /**
1320
+ * @brief 进度条自定义的CSS Style样式
1321
+ * @default -
1322
+ */
1323
+ style?: CSSStyleDeclaration;
1324
+ }
1256
1325
  /**
1257
1326
  * @hidden
1258
1327
  */
@@ -1371,8 +1440,6 @@ export declare type IPlayerOptions = {
1371
1440
  };
1372
1441
  /**
1373
1442
  * @brief mobile端交互配置。
1374
- * @list Options
1375
- * @kind property
1376
1443
  */
1377
1444
  export interface IMobileConfig {
1378
1445
  /**
@@ -1389,7 +1456,7 @@ export interface IMobileConfig {
1389
1456
  */
1390
1457
  gestureX?: boolean;
1391
1458
  /**
1392
- * @brief 是否启用垂直手势处理, 垂直手势包括屏幕右侧和屏幕左侧,默认左侧调节亮度,右侧调节音量,左右范围比例通过scopeL和scopeR设置
1459
+ * @brief 是否启用垂直手势处理,默认不启用, 垂直手势包括屏幕右侧和屏幕左侧,默认左侧调节亮度,右侧调节音量,左右范围比例通过scopeL和scopeR设置
1393
1460
  * @default false
1394
1461
  */
1395
1462
  gestureY?: boolean;
@@ -1481,8 +1548,6 @@ export interface IMobileConfig {
1481
1548
  }
1482
1549
  /**
1483
1550
  * @brief 播放器中间切换暂停/播放的按钮。
1484
- * @list Options
1485
- * @kind property
1486
1551
  */
1487
1552
  export interface IStartConfig {
1488
1553
  /**
@@ -2053,10 +2118,18 @@ export declare class MemoryPlay extends Plugin {
2053
2118
  getTimeByStorage(memoryId: string): string | 0;
2054
2119
  destroy(): void;
2055
2120
  }
2121
+ /** {zh}
2122
+ * @hidden
2123
+ */
2056
2124
  export declare const enum EDRMTYPE {
2057
2125
  DRM_ENCRYPT = "drm_encrypt",
2058
- PRIVATE_ENCRYPT = "private_encrypt"
2126
+ PRIVATE_ENCRYPT = "private_encrypt",
2127
+ PRIVATE_ENCRYPT_UPGRADE = "private_encrypt_upgrade",
2128
+ STANDARD_ENCRYPT = "standard_encrypt"
2059
2129
  }
2130
+ /** {zh}
2131
+ * @hidden
2132
+ */
2060
2133
  export interface IPlayInfoListItem {
2061
2134
  BackupPlayUrl: string;
2062
2135
  BackupUrlExpire: string;
@@ -2085,6 +2158,10 @@ export interface IPlayInfoListItem {
2085
2158
  Width: number;
2086
2159
  DrmType?: EDRMTYPE;
2087
2160
  }
2161
+ /** {zh}
2162
+ * @hidden
2163
+ * @brief 音频封装格式
2164
+ */
2088
2165
  export interface ISubtitleInfoList {
2089
2166
  CreateTime: string;
2090
2167
  FileId: string;
@@ -2101,7 +2178,10 @@ export interface ISubtitleInfoList {
2101
2178
  Version: string;
2102
2179
  Vid: string;
2103
2180
  }
2104
- export interface IThumbInfoList {
2181
+ /** {zh}
2182
+ * @hidden
2183
+ */
2184
+ export interface IThumbInfoItem {
2105
2185
  CaptureNum: number;
2106
2186
  CellHeight: number;
2107
2187
  CellWidth: number;
@@ -2111,6 +2191,10 @@ export interface IThumbInfoList {
2111
2191
  Interval: number;
2112
2192
  StoreUrls: string[];
2113
2193
  }
2194
+ /** {zh}
2195
+ * @brief 蒙版弹幕信息
2196
+ * @hidden
2197
+ */
2114
2198
  export interface IBarrageMaskInfo {
2115
2199
  Version: string;
2116
2200
  BarrageMaskUrl: string;
@@ -2121,9 +2205,29 @@ export interface IBarrageMaskInfo {
2121
2205
  Bitrate: number;
2122
2206
  HeadLen: number;
2123
2207
  }
2208
+ /** {zh}
2209
+ * @hidden
2210
+ */
2211
+ export interface DashAdaptiveInfo {
2212
+ AdaptiveType: string;
2213
+ BackupPlayUrl: string;
2214
+ MainPlayUrl: string;
2215
+ }
2216
+ /** {zh}
2217
+ * @hidden
2218
+ */
2219
+ export interface ABRInfo {
2220
+ AbrFormat: string;
2221
+ BackupPlayUrl: string;
2222
+ MainPlayUrl: string;
2223
+ }
2224
+ /** {zh}
2225
+ * @hidden
2226
+ */
2124
2227
  export interface IGetPlayInfoRes {
2125
2228
  Vid: string;
2126
- AdaptiveInfo?: any;
2229
+ AdaptiveInfo?: DashAdaptiveInfo;
2230
+ AdaptiveBitrateStreamingInfo?: ABRInfo;
2127
2231
  BarrageMaskInfo?: IBarrageMaskInfo;
2128
2232
  BarrageMaskUrl: string;
2129
2233
  Duration: number;
@@ -2133,7 +2237,7 @@ export interface IGetPlayInfoRes {
2133
2237
  PosterUrl: string;
2134
2238
  Status: number;
2135
2239
  SubtitleInfoList: ISubtitleInfoList[];
2136
- ThumbInfoList: IThumbInfoList[];
2240
+ ThumbInfoList: IThumbInfoItem[];
2137
2241
  TotalCount: number;
2138
2242
  Version: number;
2139
2243
  }
@@ -2161,15 +2265,15 @@ export declare const enum CodecType {
2161
2265
  */
2162
2266
  H266 = "h266",
2163
2267
  /** {zh}
2164
- * @brief 音频AAC,含 heaacv2
2268
+ * @brief 音频 AAC,含 heaacv2
2165
2269
  */
2166
2270
  AAC = "aac",
2167
2271
  /** {zh}
2168
- * @brief 音频MP3
2272
+ * @brief 音频 MP3
2169
2273
  */
2170
2274
  MP3 = "mp3",
2171
2275
  /** {zh}
2172
- * @brief 音频OPUS
2276
+ * @brief 音频 OPUS
2173
2277
  */
2174
2278
  OPUS = "opus",
2175
2279
  /** {zh}
@@ -2409,6 +2513,16 @@ export interface Stream extends Partial<IPlayInfoListItem> {
2409
2513
  * @brief 多语言词典中对应的 key。比如 `lineTextKey: LINE_ONE`。
2410
2514
  */
2411
2515
  lineTextKey?: string;
2516
+ /**
2517
+ * @brief 该码流视频的宽度,单位为像素
2518
+ * @default -
2519
+ */
2520
+ width?: number;
2521
+ /**
2522
+ * @brief 该码流视频的高度,单位为像素
2523
+ * @default -
2524
+ */
2525
+ height?: number;
2412
2526
  /**
2413
2527
  * @brief 码流的平均码率
2414
2528
  * @default -
@@ -2511,7 +2625,7 @@ export declare type Url = string | Array<{
2511
2625
  * @brief 播放器实例化配置。
2512
2626
  */
2513
2627
  /** {en}
2514
- * @brief Player Instance Configuration
2628
+ * @brief Player instantiation configuration.
2515
2629
  */
2516
2630
  export interface IPlayerConfig extends IPlayerOptions {
2517
2631
  /** {zh}
@@ -2519,6 +2633,9 @@ export interface IPlayerConfig extends IPlayerOptions {
2519
2633
  * @default false
2520
2634
  * @hidden
2521
2635
  */
2636
+ /** {en}
2637
+ * @hidden
2638
+ */
2522
2639
  isLive?: boolean;
2523
2640
  /** {zh}
2524
2641
  * @brief 播放器容器 ID。播放器将被插入在该容器中。
@@ -2756,7 +2873,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2756
2873
  fitVideoSize?: "fixWidth" | "fixHeight" | "fixed";
2757
2874
  /** {zh}
2758
2875
  * @brief 视频画面填充模式。取值如下:
2759
- * - `fillwidth`: 填充宽度,高度溢出则裁剪高度。
2876
+ * - `fillWidth`: 填充宽度,高度溢出则裁剪高度。
2760
2877
  * - `fillHeight`: 填充高度,宽度溢出则裁剪宽度。
2761
2878
  * - `fill`: 拉伸视频以填充容器。
2762
2879
  * - `cover`: 保持视频宽高比的同时填充元素的整个内容框。
@@ -2793,8 +2910,7 @@ export interface IPlayerConfig extends IPlayerOptions {
2793
2910
  "x5-video-orientation"?: "landscape" | "portrait" | "landscape|portrait";
2794
2911
  /** {zh}
2795
2912
  * @brief 为播放器配置关键点样式。
2796
- * @default
2797
- * @hidden 直播目前没用到
2913
+ * @default -
2798
2914
  */
2799
2915
  commonStyle?: ICommonStyle;
2800
2916
  /** {zh}
@@ -2812,6 +2928,9 @@ export interface IPlayerConfig extends IPlayerOptions {
2812
2928
  * @type {boolean}
2813
2929
  * @memberof IPlayerConfig
2814
2930
  */
2931
+ /** {en}
2932
+ * @hidden
2933
+ */
2815
2934
  enableContextmenu?: boolean;
2816
2935
  /** {zh}
2817
2936
  * @brief 是否关闭 `video` 标签的事件冒泡。取值如下:
@@ -2829,50 +2948,80 @@ export interface IPlayerConfig extends IPlayerOptions {
2829
2948
  */
2830
2949
  enableMenu?: boolean;
2831
2950
  /**
2832
- * @brief 是否关闭pc端单击播放器区域切换播放/暂停
2951
+ * @brief 是否禁用 PC 端点击播放器区域切换播放和暂停功能。
2833
2952
  * @default false
2834
2953
  */
2954
+ /** {en}
2955
+ * @brief Whether to disable the ability to toggle play and pause by clicking on the player area on PC.
2956
+ */
2835
2957
  closeVideoClick?: boolean;
2836
2958
  /**
2959
+ * @brief <br>- PC 端:是否关闭双击播放器进入全屏的功能。
2960
+ * - 移动端:是否关闭双击切换暂停和播放的功能。
2961
+ * @default PC 端为 true,移动端为 false
2962
+ */
2963
+ /** {en}
2837
2964
  * @brief pc端: 是否关闭双击播放器进入全屏的能力
2838
- * mobile端: 是否关闭双击切换暂停/播放的能力
2965
+ * mobile端: 是否关闭双击切换暂停/播放的能力
2839
2966
  * @default pc端: true, mobile端: false
2840
2967
  */
2841
2968
  closeVideoDblclick?: boolean;
2842
2969
  /**
2843
- * @brief 是否关闭播放器自动失焦(只在pc端生效)
2970
+ * @brief (仅 PC 端生效)是否关闭播放器自动失焦的功能。
2844
2971
  * @default false
2845
2972
  */
2973
+ /** {en}
2974
+ * @brief 是否关闭播放器自动失焦(只在pc端生效)
2975
+ */
2846
2976
  closeDelayBlur?: boolean;
2847
2977
  /**
2848
- * @brief 播放器focus状态自动消失延迟时长,单位为ms
2978
+ * @brief 播放器 focus 状态自动消失延迟时长,单位为毫秒。
2849
2979
  * @default pc端: 2000, mobile端: 3000
2850
2980
  */
2981
+ /** {en}
2982
+ * @brief 播放器focus状态自动消失延迟时长,单位为ms
2983
+ */
2851
2984
  inactive?: number;
2852
2985
  /**
2853
- * @brief 用户鼠标离开播放器区域之后,控制栏隐藏延时时间,如果想要鼠标移出播放器区域就隐藏,则配置为0(只在pc端生效)
2986
+ * @brief (仅 PC 端生效)用户鼠标离开播放器区域后,控制栏隐藏延时时间。若希望鼠标移出播放器区域即隐藏,可设置为 0
2854
2987
  * @default 0
2855
2988
  */
2989
+ /** {en}
2990
+ * @brief 用户鼠标离开播放器区域之后,控制栏隐藏延时时间,如果想要鼠标移出播放器区域就隐藏,则配置为0(只在pc端生效)
2991
+ */
2856
2992
  leavePlayerTime?: number;
2857
2993
  /**
2994
+ * @brief 是否禁用播放时触发播放器焦点状态的功能。
2995
+ * @default PC 端为 true,移动端为 false
2996
+ */
2997
+ /** {en}
2858
2998
  * @brief 是否关闭play时触发player焦点状态
2859
2999
  * @default pc端:true, mobile端:false
2860
3000
  */
2861
3001
  closePlayVideoFocus?: boolean;
2862
3002
  /**
2863
- * @brief 是否关闭pause时触发player焦点状态,会强制呼出控制栏
3003
+ * @brief 是否关闭暂停时触发播放器焦点状态的功能。这样会导致强制呼出控制栏。
2864
3004
  * @default false
2865
3005
  */
3006
+ /** {en}
3007
+ * @brief 是否关闭pause时触发player焦点状态,会强制呼出控制栏
3008
+ */
2866
3009
  closePauseVideoFocus?: boolean;
2867
3010
  /**
2868
- * @brief 是否需要在退出全屏后滚动定位到全屏之前的位置。(一般安卓下退出全屏后页面会滚动)
3011
+ * @brief 是否在退出全屏后将页面滚动定位到全屏之前的位置。通常在安卓设备上退出全屏后页面会发生滚动。
2869
3012
  * @default false
2870
3013
  */
3014
+ /** {en}
3015
+ * @brief 是否需要在退出全屏后滚动定位到全屏之前的位置。(一般安卓下退出全屏后页面会滚动)
3016
+ */
2871
3017
  needFullscreenScroll?: boolean;
2872
3018
  /**
2873
- * @brief 移动端交互插件配置
3019
+ * @brief 移动端交互插件配置。
2874
3020
  * @default -
2875
3021
  */
3022
+ /** {en}
3023
+ * @brief 移动端交互插件配置
3024
+ */
2876
3025
  mobile?: IMobileConfig;
2877
3026
  /**
2878
3027
  * @brief 播放器中间切换暂停/播放的按钮插件配置
@@ -2920,11 +3069,17 @@ export interface IPlayerConfig extends IPlayerOptions {
2920
3069
  * @brief 默认配置
2921
3070
  * @hidden
2922
3071
  */
3072
+ /** {en}
3073
+ * @hidden
3074
+ */
2923
3075
  defaultConfig?: IDefaultConfig;
2924
3076
  /** {zh}
2925
3077
  * @hidden
2926
3078
  * @brief 模拟mobile
2927
3079
  */
3080
+ /** {en}
3081
+ * @hidden
3082
+ */
2928
3083
  isMobile?: boolean;
2929
3084
  /** {zh}
2930
3085
  * @brief UMD 依赖备用地址。用于依赖的 CDN 发生网络错误时的降级备用地址。支持的依赖如下:
@@ -2998,7 +3153,6 @@ export interface IPlayerConfig extends IPlayerOptions {
2998
3153
  */
2999
3154
  urlCheckExpireInterval?: number;
3000
3155
  /** {zh}
3001
- * @hidden
3002
3156
  * @brief 播放源过期的回调函数。可用来更新播放源数据。
3003
3157
  * @default -
3004
3158
  */
@@ -3013,10 +3167,12 @@ export interface IPlayerConfig extends IPlayerOptions {
3013
3167
  * @brief 禁用点播日志配置检测,默认开启,如果未配置line_app_id则会播放报错
3014
3168
  * @default -
3015
3169
  */
3170
+ /** {en}
3171
+ * @hidden
3172
+ */
3016
3173
  disableVodLogOptsCheck?: boolean;
3017
3174
  /** {zh}
3018
- * @hidden
3019
- * @brief 是否打开日志打印
3175
+ * @brief 是否开启日志打印。
3020
3176
  * @default false
3021
3177
  */
3022
3178
  debug?: boolean;
@@ -3031,6 +3187,9 @@ export interface IPlayerConfig extends IPlayerOptions {
3031
3187
  * @default -
3032
3188
  * @hidden
3033
3189
  */
3190
+ /** {en}
3191
+ * @hidden
3192
+ */
3034
3193
  rtm?: IRtmConfig;
3035
3194
  /** {zh}
3036
3195
  * @brief 弹幕及面板配置。支持配置弹幕文字大小、透明度、展示区域等参数。
@@ -3047,6 +3206,9 @@ export interface IPlayerConfig extends IPlayerOptions {
3047
3206
  * @brief DASH 播放配置项
3048
3207
  * @default -
3049
3208
  */
3209
+ /** {en}
3210
+ * @hidden
3211
+ */
3050
3212
  DASHPlugin?: Partial<IDashPluginConfig>;
3051
3213
  /** {zh}
3052
3214
  * @brief HLS 加密播放配置。
@@ -3063,12 +3225,29 @@ export interface IPlayerConfig extends IPlayerOptions {
3063
3225
  * @brief mp4加密播放配置项
3064
3226
  * @default -
3065
3227
  */
3228
+ /** {en}
3229
+ * @hidden
3230
+ */
3066
3231
  Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
3067
3232
  /** {zh}
3068
- * @brief 自适应码率配置。
3233
+ * @brief 多码率自适应播放配置。
3069
3234
  * @default -
3070
3235
  */
3071
3236
  autoBitrateOpts?: IAutoBitrateOpts;
3237
+ /** {zh}
3238
+ * @brief 动态 Buffer 配置。
3239
+ * @default -
3240
+ */
3241
+ adaptRange?: IAdaptRange;
3242
+ /** {zh}
3243
+ * @brief 视频时长。
3244
+ * @default -
3245
+ * @hidden
3246
+ */
3247
+ /** {en}
3248
+ * @hidden
3249
+ */
3250
+ duration?: number;
3072
3251
  /** {zh}
3073
3252
  * @brief 外挂字幕配置。
3074
3253
  * @default -
@@ -3108,6 +3287,11 @@ export interface IPlayerConfig extends IPlayerOptions {
3108
3287
  * @default -
3109
3288
  */
3110
3289
  thumbnail?: IThumbnailConfig;
3290
+ /** {zh}
3291
+ * @brief 进度条标记配置
3292
+ * @default -
3293
+ */
3294
+ progressDot?: IDot[];
3111
3295
  }
3112
3296
  /**
3113
3297
  * @brief 播放源数据。支持传入视频播放地址 `url`、播放列表 `playList` 或者 `vid` 和 `playAuthToken`,还需包含新地址的过期时间戳 `urlExpireTimestamp`。
@@ -3116,6 +3300,9 @@ export declare type SourceConfig = Pick<IPlayerConfig, "url" | "playList" | "get
3116
3300
  /** {zh}
3117
3301
  * @hidden
3118
3302
  */
3303
+ /** {en}
3304
+ * @hidden
3305
+ */
3119
3306
  export interface IDefaultConfig {
3120
3307
  /** {zh}
3121
3308
  * @brief “点播”还是“直播”
@@ -3153,12 +3340,11 @@ export interface IDefaultConfig {
3153
3340
  */
3154
3341
  startTime?: number;
3155
3342
  /** {zh}
3156
- * @brief 音量
3157
- *
3158
- * @type {number}
3159
- * @memberof IDefaultConfig
3343
+ * @brief 音量配置,如果为数字则表示默认音量大小,取值0-1,
3344
+ * 如果是对象则可以对音量控制插件进行各型特性单独配置
3345
+ * @default 0.6
3160
3346
  */
3161
- volume?: number;
3347
+ volume?: IVolume;
3162
3348
  /** {zh}
3163
3349
  * @brief 弹幕插件配置
3164
3350
  *
@@ -3255,17 +3441,20 @@ export interface IPlayAuthTokenConfig {
3255
3441
  /**
3256
3442
  * @brief 商业DRM 获取license的token
3257
3443
  * @default -
3444
+ * @hidden
3258
3445
  */
3259
3446
  thirdPartyDrmAuthToken?: string;
3260
3447
  /**
3261
3448
  * @brief 商业DRM,获取fairplay证书的地址
3262
3449
  * @default -
3450
+ * @hidden
3263
3451
  */
3264
3452
  serverCertificatePath?: string;
3265
3453
  /**
3266
3454
  * @brief 商业DRM播放时,是否开启防录屏检测
3267
3455
  * @notice 如果开启后检测到当前环境不支持,则报错
3268
3456
  * @default true
3457
+ * @hidden
3269
3458
  */
3270
3459
  unRecord?: boolean;
3271
3460
  /** {zh}
@@ -3339,6 +3528,48 @@ export interface definitionItem {
3339
3528
  */
3340
3529
  definitionTextKey?: string;
3341
3530
  }
3531
+ /** {zh}
3532
+ * @brief 插件按钮位置
3533
+ */
3534
+ export declare const enum POSITIONS {
3535
+ /** {zh}
3536
+ * @brief 播放器根节点
3537
+ */
3538
+ ROOT = "root",
3539
+ /** {zh}
3540
+ * @brief 播放器根节点左侧
3541
+ */
3542
+ ROOT_LEFT = "rootLeft",
3543
+ /** {zh}
3544
+ * @brief 播放器根节点右侧
3545
+ */
3546
+ ROOT_RIGHT = "rootRight",
3547
+ /** {zh}
3548
+ * @brief 播放器根节点顶部
3549
+ */
3550
+ ROOT_TOP = "rootTop",
3551
+ /** {zh}
3552
+ * @brief 播控栏左侧
3553
+ */
3554
+ CONTROLS_LEFT = "controlsLeft",
3555
+ /** {zh}
3556
+ * @brief 播控栏左侧
3557
+ */
3558
+ CONTROLS_RIGTH = "controlsRight",
3559
+ /** {zh}
3560
+ * @brief 播控栏右侧
3561
+ */
3562
+ CONTROLS_RIGHT = "controlsRight",
3563
+ /** {zh}
3564
+ * @brief 播控栏中间
3565
+ */
3566
+ CONTROLS_CENTER = "controlsCenter",
3567
+ /** {zh}
3568
+ * @hidden
3569
+ * @brief 播控栏左侧
3570
+ */
3571
+ CONTROLS = "controls"
3572
+ }
3342
3573
  /**
3343
3574
  * @brief Plugin类插件基础配置
3344
3575
  */
@@ -3587,23 +3818,34 @@ declare enum PreloadScene {
3587
3818
  NORMAL = 0,
3588
3819
  /**
3589
3820
  * Feed流场景(播放器自动执行预加载)
3821
+ * @brief Feed 流场景(播放器自动执行预加载)
3822
+ */
3823
+ /** {en}
3824
+ * @brief Feed流场景(播放器自动执行预加载)
3590
3825
  */
3591
3826
  FEED = 1
3592
3827
  }
3593
3828
  declare enum StrategyNames {
3594
3829
  /**
3595
3830
  * h265
3831
+ * @brief H.265 策略
3596
3832
  */
3597
3833
  H265 = "h265",
3598
3834
  /**
3599
3835
  * 预加载
3836
+ * @brief 预加载策略
3837
+ */
3838
+ PRELOAD = "preload",
3839
+ /**
3840
+ * Range拆分-动态Buffer
3841
+ * @brief 动态 Buffer
3600
3842
  */
3601
- PRELOAD = "preload"
3843
+ ADAPT_RANGE = "adaptRange"
3602
3844
  }
3603
- /**{zh}
3845
+ /** {zh}
3604
3846
  * @hidden
3605
3847
  * h265策略配置
3606
- * @detail detail
3848
+ * @detail Options
3607
3849
  */
3608
3850
  export declare type IH265Config = {
3609
3851
  /**
@@ -3615,9 +3857,9 @@ export declare type IH265Config = {
3615
3857
  */
3616
3858
  disabled?: boolean;
3617
3859
  } & VeStrategyH265Config;
3618
- /**{zh}
3860
+ /** {zh}
3619
3861
  * 预加载初始配置
3620
- * @detail detail
3862
+ * @detail Options
3621
3863
  */
3622
3864
  export declare type IPreloadConfig = {
3623
3865
  /**
@@ -3628,11 +3870,19 @@ export declare type IPreloadConfig = {
3628
3870
  /**
3629
3871
  * 向前预加载视频个数,Feed流场景时生效
3630
3872
  * @default 1
3873
+ * @brief 向前预加载视频个数。Feed 流场景时生效。
3874
+ */
3875
+ /** {en}
3876
+ * @brief 向前预加载视频个数,Feed流场景时生效
3631
3877
  */
3632
3878
  prevCount?: number;
3633
3879
  /**
3634
3880
  * 向后预加载视频个数,Feed流场景生效
3635
3881
  * @default 2
3882
+ * @brief 向后预加载视频个数。Feed 流场景生效
3883
+ */
3884
+ /** {en}
3885
+ * @brief 向后预加载视频个数,Feed流场景生效
3636
3886
  */
3637
3887
  nextCount?: number;
3638
3888
  /**
@@ -3647,6 +3897,10 @@ export declare type IPreloadConfig = {
3647
3897
  preloadMaxCacheCount?: number;
3648
3898
  /**
3649
3899
  * 预加载依赖Module
3900
+ * @brief 预加载依赖 Module
3901
+ */
3902
+ /** {en}
3903
+ * @brief 预加载依赖Module
3650
3904
  */
3651
3905
  Strategy?: any;
3652
3906
  /**
@@ -3654,36 +3908,81 @@ export declare type IPreloadConfig = {
3654
3908
  */
3655
3909
  disabled?: boolean;
3656
3910
  };
3657
- /**{zh}
3658
- * 高级能力(策略)配置
3659
- * @detail detail
3911
+ /** {zh}
3912
+ * @hidden
3913
+ * @detail Options
3914
+ * @brief Range 拆分(动态Buffer)策略初始配置
3915
+ * @notes adaptRange策略配置结构较复杂,暂不开放Range默认配置自定义,使用策略下发
3916
+ */
3917
+ export declare type IAdaptRangeConfig = {
3918
+ /** {zh}
3919
+ * @brief 预加载依赖Module
3920
+ */
3921
+ Strategy?: any;
3922
+ /** {zh}
3923
+ * @brief 是否禁用Range拆分策略
3924
+ */
3925
+ disabled?: boolean;
3926
+ };
3927
+ /** {zh}
3928
+ * @detail Options
3929
+ * @brief 策略配置。
3660
3930
  */
3661
3931
  export declare type StrategyConfigOptions = {
3662
3932
  /**
3663
- * @hidden
3664
3933
  * h265策略配置
3934
+ * @hidden
3935
+ * @brief H.265 策略配置。
3936
+ */
3937
+ /** {en}
3938
+ * @hidden
3939
+ * @brief h265策略配置
3665
3940
  */
3666
3941
  [StrategyNames.H265]?: boolean | IH265Config;
3667
3942
  /**
3668
3943
  * 预加载配置
3944
+ * @brief 预加载配置。
3945
+ */
3946
+ /** {en}
3947
+ * @brief 预加载配置
3669
3948
  */
3670
3949
  [StrategyNames.PRELOAD]?: boolean | IPreloadConfig;
3950
+ /**
3951
+ * Range拆分(动态Buffer)
3952
+ * @brief 动态 Buffer 配置。
3953
+ */
3954
+ /** {en}
3955
+ * @brief Range拆分(动态Buffer)
3956
+ */
3957
+ [StrategyNames.ADAPT_RANGE]?: boolean | IAdaptRangeConfig;
3671
3958
  };
3672
- /**{zh}
3959
+ /** {zh}
3673
3960
  * 播放器预初始化配置
3674
- * @detail detail
3961
+ * @detail Options
3675
3962
  */
3676
3963
  export declare type StrategyInitOptions = {
3677
3964
  /**
3678
3965
  * 应用ID
3966
+ * @brief 应用 ID
3967
+ */
3968
+ /** {en}
3969
+ * @brief 应用ID
3679
3970
  */
3680
3971
  appId: number;
3681
3972
  /**
3682
3973
  * 高级能力(策略)配置
3974
+ * @brief 策略配置
3975
+ */
3976
+ /** {en}
3977
+ * @brief 高级能力(策略)配置
3683
3978
  */
3684
3979
  strategies: StrategyConfigOptions;
3685
3980
  /**
3686
3981
  * 设备ID
3982
+ * @brief 设备 ID
3983
+ */
3984
+ /** {en}
3985
+ * @brief 设备ID
3687
3986
  */
3688
3987
  deviceId?: string;
3689
3988
  /**
@@ -3692,12 +3991,17 @@ export declare type StrategyInitOptions = {
3692
3991
  plugins?: any[];
3693
3992
  /**
3694
3993
  * 策略Module,默认自动加载
3994
+ * @brief 策略 Module,默认自动加载
3995
+ */
3996
+ /** {en}
3997
+ * @brief 策略Module,默认自动加载
3695
3998
  */
3696
3999
  Module?: typeof VeStrategy;
3697
4000
  };
3698
- /**{zh}
4001
+ /** {zh}
3699
4002
  * 预加载实例,通过预加载实例可执行一些高级方法
3700
- * @detail detail
4003
+ * @detail Options
4004
+ * @hidden
3701
4005
  */
3702
4006
  export declare type PreloaderManager = {
3703
4007
  /**
@@ -3731,9 +4035,10 @@ declare enum PreloaderStatus {
3731
4035
  */
3732
4036
  FAILED = 3
3733
4037
  }
3734
- /**{zh}
4038
+ /** {zh}
3735
4039
  * 预加载配置更新
3736
- * @detail detail
4040
+ * @detail Options
4041
+ * @hidden
3737
4042
  */
3738
4043
  export declare type IPreloadUpdateConfig = {
3739
4044
  /**
@@ -3745,17 +4050,25 @@ export declare type IPreloadUpdateConfig = {
3745
4050
  */
3746
4051
  nextCount?: number;
3747
4052
  };
3748
- /**{zh}
4053
+ /** {zh}
3749
4054
  * 预加载视频资源
3750
- * @detail detail
4055
+ * @detail Options
3751
4056
  */
3752
4057
  export declare type IPreloadStream = {
3753
4058
  /**
3754
4059
  * 视频唯一ID
4060
+ * @brief 视频 ID
4061
+ */
4062
+ /** {en}
4063
+ * @brief 视频唯一ID
3755
4064
  */
3756
4065
  vid: string;
3757
4066
  /**
3758
4067
  * 播放地址
4068
+ * @brief 视频播放地址
4069
+ */
4070
+ /** {en}
4071
+ * @brief 播放地址
3759
4072
  */
3760
4073
  url: string;
3761
4074
  /**
@@ -3764,22 +4077,42 @@ export declare type IPreloadStream = {
3764
4077
  definition: string;
3765
4078
  /**
3766
4079
  * 视频streamType,暂只支持 mp4
4080
+ * @brief 视频流类型,当前仅支持 mp4
4081
+ */
4082
+ /** {en}
4083
+ * @brief 视频streamType,暂只支持 mp4
3767
4084
  */
3768
4085
  streamType: string;
3769
4086
  /**
3770
4087
  * 视频codec,暂支持 h264
4088
+ * @brief 视频编码格式,当前仅支持 mp4
4089
+ */
4090
+ /** {en}
4091
+ * @brief 视频codec,暂支持 h264
3771
4092
  */
3772
4093
  codec: string;
3773
4094
  /**
3774
4095
  * 码率, 数据统计需要,可选填
4096
+ * @brief 码率, 数据统计需要,选填
4097
+ */
4098
+ /** {en}
4099
+ * @brief 码率, 数据统计需要,可选填
3775
4100
  */
3776
4101
  bitrate: number;
3777
4102
  /**
3778
4103
  * 视频时长,数据统计需要,可选填
4104
+ * @brief 视频时长,数据统计需要,选填
4105
+ */
4106
+ /** {en}
4107
+ * @brief 视频时长,数据统计需要,可选填
3779
4108
  */
3780
4109
  duration: number;
3781
4110
  /**
3782
4111
  * 视频大小,数据统计需要,可选填
4112
+ * @brief 视频大小,数据统计需要,选填
4113
+ */
4114
+ /** {en}
4115
+ * @brief 视频大小,数据统计需要,可选填
3783
4116
  */
3784
4117
  size: number;
3785
4118
  };
@@ -3812,12 +4145,54 @@ declare class VeStrategyWrapper {
3812
4145
  prepare(): Promise<boolean>;
3813
4146
  getDeviceId(): string;
3814
4147
  isReady(): boolean;
3815
- getStrategyRecommendations(): StrategyRecommendation;
3816
- getStrategyRecommendationsAsync(): Promise<StrategyRecommendation>;
4148
+ getStrategyRecommendations(options?: any, commonOptions?: any): StrategyRecommendation;
4149
+ getStrategyRecommendationsAsync(options?: any, commonOptions?: any): Promise<StrategyRecommendation>;
3817
4150
  isHevcRecommended(): boolean;
3818
4151
  private initPreloaderConfig;
3819
4152
  }
3820
4153
  declare const _default: VeStrategyWrapper;
4154
+ /** {zh}
4155
+ * @hidden
4156
+ */
4157
+ export interface IAdaptRangeDefaultOptions {
4158
+ maxTargetCacheDur: number;
4159
+ minTargetCacheDur: number;
4160
+ rangeMaxDuration: number;
4161
+ rangeMinDuration: number;
4162
+ cacheSafeFactor: number;
4163
+ estPTcontrol: boolean;
4164
+ estPlayTime: number;
4165
+ minBandwidth: number;
4166
+ minDangerThreshold: number;
4167
+ rangeControl: boolean;
4168
+ rangeMinSize: number;
4169
+ safeFactor: number;
4170
+ targetCacheControl: boolean;
4171
+ }
4172
+ declare abstract class AbstractBaseAdapter {
4173
+ isLive: boolean;
4174
+ playerData: PlayerData;
4175
+ streamType: string;
4176
+ constructor(options: {
4177
+ configs: IPlayerConfig;
4178
+ playerData: PlayerData;
4179
+ streamType: string;
4180
+ });
4181
+ /**
4182
+ * @description 是否使用原生video的abr能力
4183
+ */
4184
+ abstract useNativeAbr(): boolean;
4185
+ abstract canOpenAbr(vidPlayInfo?: VideoInfoRes): boolean;
4186
+ abstract applyAbrPluginConfig(_finalOptions: any, _autoBitrateOpts: any): void;
4187
+ abstract prepareAbrModule(_playerData: any, _sdkUmdLoader: any): void;
4188
+ abstract needAbrAutoDefinition(): boolean;
4189
+ abstract setAbrDefaultDefiWithAuto(): boolean;
4190
+ abstract generatePlaylistFromServer(res: VideoInfoRes): Stream[];
4191
+ abstract canAdaptRangeEnable(): boolean;
4192
+ abstract adaptRangeDefaultOptions(): IAdaptRangeDefaultOptions | undefined;
4193
+ abstract applyAdaptRangePluginConfig(_finalOptions: any, _adaptRangeOptions: any): void;
4194
+ abstract applyAdaptRangeStrategy(_finalOptions: any, _adaptRangeOptions: any): void;
4195
+ }
3821
4196
  declare class PlayerData {
3822
4197
  id?: string;
3823
4198
  root?: HTMLElement;
@@ -3861,18 +4236,27 @@ declare class PlayerData {
3861
4236
  urlExpireDiff: number;
3862
4237
  urlCheckExpireInterval: number;
3863
4238
  };
4239
+ private isAutoBitrateEnable;
4240
+ adapter: AbstractBaseAdapter;
3864
4241
  isBusinessDrm: boolean;
3865
4242
  isEncrypt: boolean;
3866
4243
  dashOpts: {
3867
4244
  Data: IGetPlayInfoRes;
3868
4245
  };
3869
- constructor(configs: IPlayerConfig);
4246
+ sdk: VePlayer;
4247
+ constructor(configs: IPlayerConfig, sdk: VePlayer);
3870
4248
  /**
3871
4249
  * 初始化播放数据
3872
4250
  * @param configs { IPlayerConfig } 播放器配置
3873
4251
  */
3874
4252
  initPlayData(configs: IPlayerConfig): void;
3875
4253
  initPlaylistAndGetCurrent(configs: IPlayerConfig): Stream;
4254
+ checkAutoBitratePlayList(): boolean;
4255
+ getABRStreamInfo(streamType: any, originDefaultStream: any): {
4256
+ defaultDefinition: string;
4257
+ defaultStream: any;
4258
+ playList: Stream[];
4259
+ };
3876
4260
  isCurrentH265(): boolean;
3877
4261
  getCurrentByDefaultConfig(): Stream;
3878
4262
  initCurrent(currentStreams: Stream): void;
@@ -3889,12 +4273,13 @@ declare class PlayerData {
3889
4273
  * @description: 获取当前直播url
3890
4274
  */
3891
4275
  getCurrentUrl(): Url;
4276
+ getTargetStreamType(stream?: Stream): string;
3892
4277
  /**
3893
4278
  * @description: 获取当前的streamType
3894
4279
  */
3895
4280
  getCurrentStreamType(): string;
3896
4281
  getStreamType(): string;
3897
- isOpenABR(streamType?: string): boolean;
4282
+ isOpenABR(): boolean;
3898
4283
  showRealDefinition(): boolean;
3899
4284
  isAutoDefinition(def: any): boolean;
3900
4285
  isPlayAutoDefinition(def?: string): boolean;
@@ -3947,8 +4332,8 @@ declare class PlayerData {
3947
4332
  * 更新playList
3948
4333
  */
3949
4334
  updatePlayList(): void;
4335
+ isVidPlay(): boolean;
3950
4336
  }
3951
- declare function isMSESupport(mime?: string): boolean;
3952
4337
  /**
3953
4338
  * @hidden
3954
4339
  * @brief 移动端交互面板配置
@@ -3998,6 +4383,7 @@ declare enum UmdKeys {
3998
4383
  VeStrategy = "vestrategy",
3999
4384
  VeStrategyH265 = "vestrategy_h265",
4000
4385
  VeStrategyPreload = "vestrategy_preload",
4386
+ VeStrategyAdaptRange = "vestrategy_adapt_range",
4001
4387
  DashAbralgo = "DashAbralgo",
4002
4388
  Preloader = "preloader"
4003
4389
  }
@@ -4066,7 +4452,7 @@ declare class umdLoader {
4066
4452
  */
4067
4453
  export declare type PlayerCore = Player & {
4068
4454
  sdk?: VePlayer;
4069
- changePluginsIcon?: (name: any, isShow: any) => void;
4455
+ changePluginsIcon?: (name: string, isShow: boolean) => void;
4070
4456
  playerData?: PlayerData;
4071
4457
  playerType?: string;
4072
4458
  playerVersion?: string;
@@ -4081,6 +4467,9 @@ declare class VePlayer {
4081
4467
  * @type {PlayerData}
4082
4468
  * @memberof VePlayer
4083
4469
  */
4470
+ /** {en}
4471
+ * @hidden
4472
+ */
4084
4473
  playerData: PlayerData;
4085
4474
  /** {zh}
4086
4475
  * @brief 播放器内核实例,详情参考{@link https://www.volcengine.com/docs/4/1249083 播放器内核}。
@@ -4094,6 +4483,9 @@ declare class VePlayer {
4094
4483
  * @type {*}
4095
4484
  * @memberof VePlayer
4096
4485
  */
4486
+ /** {en}
4487
+ * @hidden
4488
+ */
4097
4489
  mountingDom: Element;
4098
4490
  /** {zh}
4099
4491
  * @hidden
@@ -4101,6 +4493,9 @@ declare class VePlayer {
4101
4493
  * @type {*}
4102
4494
  * @memberof VePlayer
4103
4495
  */
4496
+ /** {en}
4497
+ * @hidden
4498
+ */
4104
4499
  playerContainer: any;
4105
4500
  /** {zh}
4106
4501
  * @hidden
@@ -4108,6 +4503,9 @@ declare class VePlayer {
4108
4503
  * @type {*}
4109
4504
  * @memberof VePlayer
4110
4505
  */
4506
+ /** {en}
4507
+ * @hidden
4508
+ */
4111
4509
  mobilePanel: any;
4112
4510
  /** {zh}
4113
4511
  *
@@ -4165,6 +4563,7 @@ declare class VePlayer {
4165
4563
  * @memberof VePlayer
4166
4564
  */
4167
4565
  sdkUmdLoader: umdLoader;
4566
+ private adapter;
4168
4567
  /**
4169
4568
  * @hidden
4170
4569
  */
@@ -4183,33 +4582,39 @@ declare class VePlayer {
4183
4582
  * @memberof VePlayer
4184
4583
  */
4185
4584
  static sdkVersion: string;
4186
- /**{zh}
4187
- * @brief 播放器预初始化配置
4585
+ /**
4586
+ * @hidden
4587
+ */
4588
+ private veErrorIns;
4589
+ /** {zh}
4590
+ * @brief 播放策略预初始化配置
4188
4591
  * @param options 初始化配置,详情见{@link StrategyInitOptions}
4189
4592
  */
4190
4593
  static prepare(options: StrategyInitOptions): Promise<void>;
4191
- /**{zh}
4594
+ /** {zh}
4192
4595
  * @brief 设置预加载模式
4193
4596
  * @param preloadScene 预加载模式,详情见{@link PreloadScene}
4194
4597
  * @param options 预加载配置更新,详情见{@link IPreloadUpdateConfig}
4195
4598
  */
4196
4599
  static setPreloadScene(preloadScene: PreloadScene, options?: IPreloadUpdateConfig): void;
4197
- /**{zh}
4198
- * @brief 获取预加载实例,可通过预加载实例执行高级方法,需在VePlayer.prepare Promise执行完成之后才能获取到预加载实例
4199
- * @returns 预加载实例,详情见{@link PreloaderManager}
4600
+ /** {zh}
4601
+ * @hidden
4602
+ * @brief 获取预加载实例,可通过预加载实例执行高级方法,需在 `VePlayer.prepare` 的 Promise 执行完成之后才能获取到预加载实例。
4603
+ * @returns 预加载实例,详见 {@link PreloaderManager}
4200
4604
  */
4201
4605
  static get preloader(): PreloaderManager | undefined;
4202
- /**{zh}
4203
- * @brief 获取当前预加载实例状态
4204
- * @returns 预加载实例状态,详情见{@link PreloaderStatus}
4606
+ /** {zh}
4607
+ * @hidden
4608
+ * @brief 获取当前预加载实例状态。
4609
+ * @returns 预加载实例状态,详见 {@link PreloaderStatus}
4205
4610
  */
4206
4611
  static get preloaderStatus(): PreloaderStatus;
4207
- /**{zh}
4612
+ /** {zh}
4208
4613
  * @brief 添加待预加载视频列表
4209
4614
  * @param list 待预加载视频列表,详情见{@link IPreloadStream[]}。
4210
4615
  */
4211
4616
  static addPreloadList(list: IPreloadStream[]): void;
4212
- /**{zh}
4617
+ /** {zh}
4213
4618
  * @brief 设置待预加载视频列表,替换当前已设置的待预加载列表
4214
4619
  * @param list 待预加载视频列表,详情见{@link IPreloadStream[]}
4215
4620
  */
@@ -4318,6 +4723,9 @@ declare class VePlayer {
4318
4723
  *
4319
4724
  * @memberof VePlayer
4320
4725
  */
4726
+ /** {en}
4727
+ * @hidden
4728
+ */
4321
4729
  renderDom(): void;
4322
4730
  /** {zh}
4323
4731
  * @hidden
@@ -4325,6 +4733,9 @@ declare class VePlayer {
4325
4733
  * @return {*}
4326
4734
  * @memberof VePlayer
4327
4735
  */
4736
+ /** {en}
4737
+ * @hidden
4738
+ */
4328
4739
  renderPoster(): void;
4329
4740
  /**
4330
4741
  * @brief 获取西瓜的definition的配置,用于在创建player或者在playNext()时传入definition,
@@ -4338,7 +4749,10 @@ declare class VePlayer {
4338
4749
  * @return {*}
4339
4750
  * @memberof VePlayer
4340
4751
  */
4341
- createPlayer(): Promise<PlayerCore>;
4752
+ /** {en}
4753
+ * @hidden
4754
+ */
4755
+ createPlayer: () => Promise<PlayerCore>;
4342
4756
  /** {zh}
4343
4757
  * @hidden
4344
4758
  * @brief 设置合并开发者的插件配置,如果开发者从初始化的configs里传了插件配置,则只用开发者的配置,并补齐其他参数
@@ -4346,6 +4760,9 @@ declare class VePlayer {
4346
4760
  * @return {void}
4347
4761
  * @memberof VePlayer
4348
4762
  */
4763
+ /** {en}
4764
+ * @hidden
4765
+ */
4349
4766
  setPluginConfig(finalOptions: IPlayerConfig): void;
4350
4767
  /** {zh}
4351
4768
  * @hidden
@@ -4353,6 +4770,9 @@ declare class VePlayer {
4353
4770
  * @param {string} url 地址
4354
4771
  * @memberof VePlayer
4355
4772
  */
4773
+ /** {en}
4774
+ * @hidden
4775
+ */
4356
4776
  detectCodec(url: string): Promise<void>;
4357
4777
  /** {zh}
4358
4778
  * @hidden
@@ -4361,6 +4781,9 @@ declare class VePlayer {
4361
4781
  * @return {*}
4362
4782
  * @memberof VePlayer
4363
4783
  */
4784
+ /** {en}
4785
+ * @hidden
4786
+ */
4364
4787
  setDefaultConfigOptions(options: any): void;
4365
4788
  /** {zh}
4366
4789
  * @brief 获取当前播放视频数据
@@ -4368,13 +4791,16 @@ declare class VePlayer {
4368
4791
  * @return {any}
4369
4792
  * @memberof VePlayer
4370
4793
  */
4794
+ /** {en}
4795
+ * @hidden
4796
+ */
4371
4797
  getCurrentPlayerConfig(): {
4372
4798
  type?: "vod" | "live";
4373
4799
  isLive?: boolean;
4374
4800
  lineId?: string | number;
4375
4801
  definition?: string;
4376
4802
  startTime?: number;
4377
- volume?: number;
4803
+ volume?: IVolume;
4378
4804
  DanmuPlugin?: any;
4379
4805
  LiveSubtitlesIconPlugin?: any;
4380
4806
  };
@@ -4404,6 +4830,7 @@ declare class VePlayer {
4404
4830
  * @memberof VePlayer
4405
4831
  */
4406
4832
  afterPlayerCreate(): void;
4833
+ _setVeError(): void;
4407
4834
  /**
4408
4835
  * @hidden
4409
4836
  *
@@ -4417,6 +4844,11 @@ declare class VePlayer {
4417
4844
  * @memberof VePlayer
4418
4845
  */
4419
4846
  private _setPlayerInfo;
4847
+ /**
4848
+ * @hidden
4849
+ * @private
4850
+ */
4851
+ private getVtype;
4420
4852
  /**
4421
4853
  *
4422
4854
  *
@@ -4432,6 +4864,7 @@ declare class VePlayer {
4432
4864
  * @memberof VePlayer
4433
4865
  */
4434
4866
  private _bindPlayerEvents;
4867
+ _proxyError: (veError: any) => void;
4435
4868
  private _onError;
4436
4869
  /** {zh}
4437
4870
  * @private
@@ -4476,6 +4909,9 @@ declare class VePlayer {
4476
4909
  * @param {*} pluginName
4477
4910
  * @param {*} IsShow
4478
4911
  */
4912
+ /** {en}
4913
+ * @hidden
4914
+ */
4479
4915
  changePluginsIcon(pluginName: any, IsShow: any): void;
4480
4916
  /** {zh}
4481
4917
  * @hidden
@@ -4485,18 +4921,23 @@ declare class VePlayer {
4485
4921
  * @return {*}
4486
4922
  * @memberof VePlayer
4487
4923
  */
4924
+ /** {en}
4925
+ * @hidden
4926
+ */
4488
4927
  getSdkPlugin(name: any): any;
4489
4928
  /** {zh}
4490
4929
  * @brief 播放时更换临时播放 Token,以更换视频源。
4491
4930
  * @memberof VePlayer
4492
4931
  * @param config 临时播放 Token 配置。
4493
4932
  * @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
4933
+ * @notes 此接口不支持切换火山引擎私有加密 Token。
4494
4934
  */
4495
4935
  switchAuthToken(config: IPlayAuthTokenConfig, isNewVideo?: boolean): Promise<void>;
4496
4936
  /** {zh}
4497
4937
  * @brief 更新临时播放 Token。
4498
4938
  * @memberof VePlayer
4499
- * @notes 播放前临时播放 Token 过期(收到 `play_auth_token_expired` 事件或者 `onTokenExpired` 回调触发)时,调用此方法更新临时播放 Token。
4939
+ * @notes - 播放前临时播放 Token 过期(收到 `play_auth_token_expired` 事件或者 `onTokenExpired` 回调触发)时,调用此方法更新临时播放 Token。
4940
+ * - 此接口不支持切换火山引擎私有加密 Token。
4500
4941
  * @param config 临时播放 Token 配置。
4501
4942
  */
4502
4943
  updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
@@ -4514,6 +4955,7 @@ declare class VePlayer {
4514
4955
  */
4515
4956
  set src(url: Url);
4516
4957
  /** {zh}
4958
+ * @hidden
4517
4959
  * @brief 播放时更换视频 URL,以更换视频源。
4518
4960
  * @notes 更换后,会从更换前的时间点继续播放。
4519
4961
  * @param url 视频播放地址。
@@ -4526,13 +4968,17 @@ declare class VePlayer {
4526
4968
  * @param config 播放器配置。
4527
4969
  * @param isNewVideo 是否为新视频,默认为 `true`。为 `false` 时表示是同一个视频更换 token。更换后,会从更换前的时间点继续播放。
4528
4970
  */
4971
+ /** {en}
4972
+ * @hidden
4973
+ */
4529
4974
  next(config: IPlayerConfig, isNewVideo?: boolean): Promise<void>;
4530
4975
  /** {zh}
4531
4976
  * @brief 播放下一视频。
4532
4977
  * @return{Promise<any>}
4533
4978
  * @memberof VePlayer
4534
- * @notes 成功更换视频源后,默认是暂停状态,如果设置了自动播放,则会自动播放。
4535
- * @param config 播放器实例化配置。
4979
+ * @notes - 成功更换视频源后,默认是暂停状态。如果设置了自动播放,则会自动播放。
4980
+ * - 此接口不支持切换火山引擎私有加密视频。
4981
+ * @param config 播放器实例化配置。此接口仅支持 `IPlayerConfig` 中的 `url`、`playList`、`poster`、`getVideoByToken` 字段。。
4536
4982
  * @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
4537
4983
  */
4538
4984
  playNext(config: IPlayerConfig, isNewVideo?: boolean): Promise<any>;
@@ -4550,6 +4996,9 @@ declare class VePlayer {
4550
4996
  * @return {*}
4551
4997
  * @memberof VePlayer
4552
4998
  */
4999
+ /** {en}
5000
+ * @hidden
5001
+ */
4553
5002
  getPlayerInstance(): PlayerCore;
4554
5003
  /** {zh}
4555
5004
  * @hidden
@@ -4557,6 +5006,9 @@ declare class VePlayer {
4557
5006
  * @return {*}
4558
5007
  * @memberof VePlayer
4559
5008
  */
5009
+ /** {en}
5010
+ * @hidden
5011
+ */
4560
5012
  getSoftDecodingOption(isOpenSoftDecoding: boolean, url: string, type: string): Promise<{
4561
5013
  mediaType?: string;
4562
5014
  innerDegrade?: number;
@@ -4569,6 +5021,9 @@ declare class VePlayer {
4569
5021
  * @brief 获取h265软解播放时的播放列表
4570
5022
  * @memberof VePlayer
4571
5023
  */
5024
+ /** {en}
5025
+ * @hidden
5026
+ */
4572
5027
  setH265SoftPlayList(): void;
4573
5028
  /** {zh}
4574
5029
  * @brief 切换清晰度
@@ -5351,7 +5806,7 @@ export declare const Events: {
5351
5806
  */
5352
5807
  LINE_CHANGE: string;
5353
5808
  /** {zh}
5354
- * @brief `playAuthToken` 获取 URL 失败。
5809
+ * @brief 播放器通过 `playAuthToken` 获取 URL 失败。
5355
5810
  */
5356
5811
  GET_PLAY_URL_ERR: string;
5357
5812
  /** {zh}
@@ -5403,15 +5858,15 @@ export declare const Events: {
5403
5858
  */
5404
5859
  PLAY_LIST_ITEM_CHANGE: string;
5405
5860
  /** {zh}
5406
- * @brief playNext开始
5861
+ * @brief `playNext` 开始。
5407
5862
  */
5408
5863
  PLAY_NEXT_START: string;
5409
5864
  /** {zh}
5410
- * @brief playNext结束。
5865
+ * @brief `playNext` 结束。
5411
5866
  */
5412
5867
  PLAY_NEXT_END: string;
5413
5868
  /** {zh}
5414
- * @brief 自动挡档位改变。
5869
+ * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
5415
5870
  */
5416
5871
  ABR_AUTO_DESC_CHANGE: string;
5417
5872
  /** {zh}
@@ -5581,7 +6036,7 @@ export declare const Events: {
5581
6036
  */
5582
6037
  NOT_SUPPORT_SOFT_DECODER: string;
5583
6038
  /** {zh}
5584
- * @brief `playAuthToken` 过期
6039
+ * @brief `playAuthToken` 过期。
5585
6040
  */
5586
6041
  TOKEN_EXPIRED: string;
5587
6042
  /** {zh}
@@ -5589,31 +6044,31 @@ export declare const Events: {
5589
6044
  */
5590
6045
  UMD_LOAD_FAIL: string;
5591
6046
  /** {zh}
5592
- * @brief 切换下一个视频,playNext方法调用后触发
6047
+ * @brief 切换下一个视频。调用 `playNext` 后触发。
5593
6048
  */
5594
6049
  PLAYNEXT: string;
5595
6050
  /** {zh}
5596
- * @brief 视频地址为空
6051
+ * @brief 视频地址为空。
5597
6052
  */
5598
6053
  URL_NULL: string;
5599
6054
  /** {zh}
5600
- * @brief 鼠标移出
6055
+ * @brief 鼠标移出。
5601
6056
  */
5602
6057
  LEAVE_PLAYER: string;
5603
6058
  /** {zh}
5604
- * @brief 鼠标移出
6059
+ * @brief 鼠标移入。
5605
6060
  */
5606
6061
  ENTER_PLAYER: string;
5607
6062
  /** {zh}
5608
- * @brief 播放器状态重置
6063
+ * @brief 播放器状态重置。
5609
6064
  */
5610
6065
  RESET: string;
5611
6066
  /** {zh}
5612
- * @brief <source> 加载错误,表示<source>不支持或播放失败
6067
+ * @brief `<source>` 加载错误,表示 `<source>` 不支持或播放失败。
5613
6068
  */
5614
6069
  SOURCE_ERROR: string;
5615
6070
  /** {zh}
5616
- * @brief <source> 加载成功
6071
+ * @brief `<source>` 加载成功。
5617
6072
  */
5618
6073
  SOURCE_SUCCESS: string;
5619
6074
  /** {zh}
@@ -5634,11 +6089,11 @@ export declare const Events: {
5634
6089
  DURATION_CHANGE: string;
5635
6090
  /** {zh}
5636
6091
  * @deprecated
5637
- * @brief 媒体被清空(初始化)时触发。
6092
+ * @brief (已废弃)媒体被清空时触发,通常是由于初始化。
5638
6093
  */
5639
6094
  EMPITED: string;
5640
6095
  /** {zh}
5641
- * @brief 媒体被清空(初始化)时触发。
6096
+ * @brief 媒体被清空时触发,通常是由于初始化。
5642
6097
  */
5643
6098
  EMPTIED: string;
5644
6099
  /** {zh}
@@ -5900,7 +6355,7 @@ export declare const Event: {
5900
6355
  */
5901
6356
  NOT_SUPPORT_SOFT_DECODER: string;
5902
6357
  /** {zh}
5903
- * @brief `playAuthToken` 过期
6358
+ * @brief `playAuthToken` 过期。
5904
6359
  */
5905
6360
  TOKEN_EXPIRED: string;
5906
6361
  /** {zh}
@@ -5908,31 +6363,31 @@ export declare const Event: {
5908
6363
  */
5909
6364
  UMD_LOAD_FAIL: string;
5910
6365
  /** {zh}
5911
- * @brief 切换下一个视频,playNext方法调用后触发
6366
+ * @brief 切换下一个视频。调用 `playNext` 后触发。
5912
6367
  */
5913
6368
  PLAYNEXT: string;
5914
6369
  /** {zh}
5915
- * @brief 视频地址为空
6370
+ * @brief 视频地址为空。
5916
6371
  */
5917
6372
  URL_NULL: string;
5918
6373
  /** {zh}
5919
- * @brief 鼠标移出
6374
+ * @brief 鼠标移出。
5920
6375
  */
5921
6376
  LEAVE_PLAYER: string;
5922
6377
  /** {zh}
5923
- * @brief 鼠标移出
6378
+ * @brief 鼠标移入。
5924
6379
  */
5925
6380
  ENTER_PLAYER: string;
5926
6381
  /** {zh}
5927
- * @brief 播放器状态重置
6382
+ * @brief 播放器状态重置。
5928
6383
  */
5929
6384
  RESET: string;
5930
6385
  /** {zh}
5931
- * @brief <source> 加载错误,表示<source>不支持或播放失败
6386
+ * @brief `<source>` 加载错误,表示 `<source>` 不支持或播放失败。
5932
6387
  */
5933
6388
  SOURCE_ERROR: string;
5934
6389
  /** {zh}
5935
- * @brief <source> 加载成功
6390
+ * @brief `<source>` 加载成功。
5936
6391
  */
5937
6392
  SOURCE_SUCCESS: string;
5938
6393
  };
@@ -6014,7 +6469,7 @@ export declare const Event: {
6014
6469
  */
6015
6470
  LINE_CHANGE: string;
6016
6471
  /** {zh}
6017
- * @brief `playAuthToken` 获取 URL 失败。
6472
+ * @brief 播放器通过 `playAuthToken` 获取 URL 失败。
6018
6473
  */
6019
6474
  GET_PLAY_URL_ERR: string;
6020
6475
  /** {zh}
@@ -6066,15 +6521,15 @@ export declare const Event: {
6066
6521
  */
6067
6522
  PLAY_LIST_ITEM_CHANGE: string;
6068
6523
  /** {zh}
6069
- * @brief playNext开始
6524
+ * @brief `playNext` 开始。
6070
6525
  */
6071
6526
  PLAY_NEXT_START: string;
6072
6527
  /** {zh}
6073
- * @brief playNext结束。
6528
+ * @brief `playNext` 结束。
6074
6529
  */
6075
6530
  PLAY_NEXT_END: string;
6076
6531
  /** {zh}
6077
- * @brief 自动挡档位改变。
6532
+ * @brief 多码率自适应播放时,自动挡位对应的清晰度改变。
6078
6533
  */
6079
6534
  ABR_AUTO_DESC_CHANGE: string;
6080
6535
  };