@volcengine/veplayer 1.12.0-rc.7 → 1.12.0-rc.9
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 +236 -360
- package/index.min.css +1 -1
- package/index.min.js +2 -2
- package/package.json +1 -1
- package/plugin/dash.js +2 -2
- package/plugin/hls.js +1 -1
- package/plugin/hlsEncrypt.js +2 -2
- package/plugin/mp4Encrypt.js +2 -2
package/index.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ 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';
|
|
9
|
+
import XGAdsPlugin from 'xgplayer-ads';
|
|
10
|
+
import { AdsPluginConfig } from 'xgplayer-ads/es/plugin';
|
|
9
11
|
import { IUrl } from 'xgplayer/es/defaultConfig';
|
|
10
12
|
|
|
11
13
|
/**
|
|
@@ -258,14 +260,14 @@ export interface IDanmuConfig {
|
|
|
258
260
|
*/
|
|
259
261
|
fontSize?: number;
|
|
260
262
|
/**
|
|
261
|
-
* @brief
|
|
263
|
+
* @brief 是否打开面板。取值如下:
|
|
262
264
|
*
|
|
263
|
-
* - `false
|
|
264
|
-
* - `true
|
|
265
|
+
* - `false`:关闭面板。
|
|
266
|
+
* - `true`:打开面板。
|
|
265
267
|
* @default false
|
|
266
268
|
*/
|
|
267
269
|
/** {en}
|
|
268
|
-
* @brief
|
|
270
|
+
* @brief 是否打开面板
|
|
269
271
|
*/
|
|
270
272
|
active?: boolean;
|
|
271
273
|
/**
|
|
@@ -277,7 +279,7 @@ export interface IDanmuConfig {
|
|
|
277
279
|
* @hidden
|
|
278
280
|
*/
|
|
279
281
|
/** {en}
|
|
280
|
-
* @brief
|
|
282
|
+
* @brief 是否展示弹幕设置面板
|
|
281
283
|
*/
|
|
282
284
|
usePanel?: boolean;
|
|
283
285
|
/**
|
|
@@ -295,13 +297,11 @@ export interface IDanmuConfig {
|
|
|
295
297
|
*/
|
|
296
298
|
external?: ExternalItem[];
|
|
297
299
|
/**
|
|
298
|
-
* @
|
|
299
|
-
* @default -
|
|
300
|
+
* @hidden
|
|
300
301
|
*/
|
|
301
302
|
maskConfig?: IMaskConfig;
|
|
302
303
|
/**
|
|
303
|
-
* @
|
|
304
|
-
* @default false
|
|
304
|
+
* @hidden
|
|
305
305
|
*/
|
|
306
306
|
maskActive?: boolean;
|
|
307
307
|
}
|
|
@@ -1576,11 +1576,6 @@ export interface IStartConfig {
|
|
|
1576
1576
|
*/
|
|
1577
1577
|
mode?: "hide" | "show" | "auto";
|
|
1578
1578
|
}
|
|
1579
|
-
/**
|
|
1580
|
-
* @hidden
|
|
1581
|
-
* @brief 西瓜插件
|
|
1582
|
-
*/
|
|
1583
|
-
export declare type XGPlugin = typeof Plugin | typeof BasePlugin;
|
|
1584
1579
|
/**
|
|
1585
1580
|
* @brief 自动播放配置。
|
|
1586
1581
|
* @list Options
|
|
@@ -2125,9 +2120,14 @@ export declare class MemoryPlay extends Plugin {
|
|
|
2125
2120
|
getTimeByStorage(memoryId: string): string | 0;
|
|
2126
2121
|
destroy(): void;
|
|
2127
2122
|
}
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
|
|
2123
|
+
/** {zh}
|
|
2124
|
+
* @hidden
|
|
2125
|
+
*/
|
|
2126
|
+
export declare const enum EDRMTYPE {
|
|
2127
|
+
DRM_ENCRYPT = "drm_encrypt",
|
|
2128
|
+
PRIVATE_ENCRYPT = "private_encrypt",
|
|
2129
|
+
PRIVATE_ENCRYPT_UPGRADE = "private_encrypt_upgrade",
|
|
2130
|
+
STANDARD_ENCRYPT = "standard_encrypt"
|
|
2131
2131
|
}
|
|
2132
2132
|
/** {zh}
|
|
2133
2133
|
* @hidden
|
|
@@ -2138,7 +2138,7 @@ export interface IPlayInfoListItem {
|
|
|
2138
2138
|
BarrageMaskOffset: string;
|
|
2139
2139
|
Bitrate: number;
|
|
2140
2140
|
CheckInfo: string;
|
|
2141
|
-
Codec:
|
|
2141
|
+
Codec: CodecType;
|
|
2142
2142
|
Definition: string;
|
|
2143
2143
|
Duration: number;
|
|
2144
2144
|
FileId: string;
|
|
@@ -2243,62 +2243,55 @@ export interface IGetPlayInfoRes {
|
|
|
2243
2243
|
TotalCount: number;
|
|
2244
2244
|
Version: number;
|
|
2245
2245
|
}
|
|
2246
|
+
/**
|
|
2247
|
+
* @author bytedance
|
|
2248
|
+
* @version 1.0
|
|
2249
|
+
* @Description
|
|
2250
|
+
* @date 2024/5/17 15:53
|
|
2251
|
+
*/
|
|
2246
2252
|
/** {zh}
|
|
2247
2253
|
* @list Options
|
|
2248
2254
|
* @brief 视频编码格式。
|
|
2249
2255
|
*/
|
|
2250
|
-
export declare const CodecType
|
|
2256
|
+
export declare const enum CodecType {
|
|
2251
2257
|
/** {zh}
|
|
2252
2258
|
* @brief H.264
|
|
2253
2259
|
*/
|
|
2254
|
-
|
|
2260
|
+
H264 = "h264",
|
|
2255
2261
|
/** {zh}
|
|
2256
2262
|
* @brief H.265
|
|
2257
2263
|
*/
|
|
2258
|
-
|
|
2264
|
+
H265 = "h265",
|
|
2259
2265
|
/** {zh}
|
|
2260
2266
|
* @brief H.266
|
|
2261
2267
|
*/
|
|
2262
|
-
|
|
2268
|
+
H266 = "h266",
|
|
2263
2269
|
/** {zh}
|
|
2264
2270
|
* @brief 音频 AAC,含 heaacv2
|
|
2265
2271
|
*/
|
|
2266
|
-
|
|
2272
|
+
AAC = "aac",
|
|
2267
2273
|
/** {zh}
|
|
2268
2274
|
* @brief 音频 MP3
|
|
2269
2275
|
*/
|
|
2270
|
-
|
|
2276
|
+
MP3 = "mp3",
|
|
2271
2277
|
/** {zh}
|
|
2272
2278
|
* @brief 音频 OPUS
|
|
2273
2279
|
*/
|
|
2274
|
-
|
|
2280
|
+
OPUS = "opus",
|
|
2275
2281
|
/** {zh}
|
|
2276
2282
|
* @brief 未知编码格式
|
|
2277
2283
|
*/
|
|
2278
|
-
|
|
2279
|
-
}
|
|
2280
|
-
|
|
2281
|
-
export declare const ContentType: {
|
|
2282
|
-
h265: string;
|
|
2283
|
-
h264: string;
|
|
2284
|
-
};
|
|
2285
|
-
export declare enum RTMCodec {
|
|
2284
|
+
UNKNOWN = "unknown"
|
|
2285
|
+
}
|
|
2286
|
+
declare enum RTMCodec {
|
|
2286
2287
|
H264 = "h264"
|
|
2287
2288
|
}
|
|
2288
|
-
|
|
2289
|
-
* @hidden
|
|
2290
|
-
* @brief 音频封装格式
|
|
2291
|
-
*/
|
|
2292
|
-
export declare enum EVideoFormat {
|
|
2289
|
+
declare enum EVideoFormat {
|
|
2293
2290
|
MP4 = "mp4",
|
|
2294
2291
|
DASH = "dash",
|
|
2295
2292
|
HLS = "hls"
|
|
2296
2293
|
}
|
|
2297
|
-
|
|
2298
|
-
* @hidden
|
|
2299
|
-
* @brief 视频封装格式
|
|
2300
|
-
*/
|
|
2301
|
-
export declare enum EAudioFormat {
|
|
2294
|
+
declare enum EAudioFormat {
|
|
2302
2295
|
M4A = "m4a",
|
|
2303
2296
|
MP4 = "mp4",
|
|
2304
2297
|
MP3 = "mp3",
|
|
@@ -2306,45 +2299,6 @@ export declare enum EAudioFormat {
|
|
|
2306
2299
|
HLS = "hls",
|
|
2307
2300
|
OGG = "ogg"
|
|
2308
2301
|
}
|
|
2309
|
-
/** {zh}
|
|
2310
|
-
* @brief 加密播放类型
|
|
2311
|
-
*/
|
|
2312
|
-
export declare const enum EDRMTYPE {
|
|
2313
|
-
/**
|
|
2314
|
-
* @brief 商业DRM
|
|
2315
|
-
*/
|
|
2316
|
-
DRM_ENCRYPT = "drm_encrypt",
|
|
2317
|
-
/**
|
|
2318
|
-
* @brief 旧私有加密
|
|
2319
|
-
*/
|
|
2320
|
-
PRIVATE_ENCRYPT = "private_encrypt",
|
|
2321
|
-
/**
|
|
2322
|
-
* @brief 新私有加密
|
|
2323
|
-
*/
|
|
2324
|
-
PRIVATE_ENCRYPT_UPGRADE = "private_encrypt_upgrade",
|
|
2325
|
-
/**
|
|
2326
|
-
* @brief HLS标准加密
|
|
2327
|
-
*/
|
|
2328
|
-
STANDARD_ENCRYPT = "standard_encrypt"
|
|
2329
|
-
}
|
|
2330
|
-
export interface IVideoInfo {
|
|
2331
|
-
playList: Stream[];
|
|
2332
|
-
vid: string;
|
|
2333
|
-
defaultDefinitionData: Stream;
|
|
2334
|
-
codec: ICodecType;
|
|
2335
|
-
dashOpts?: {
|
|
2336
|
-
Data: IGetPlayInfoRes;
|
|
2337
|
-
};
|
|
2338
|
-
}
|
|
2339
|
-
export declare type TRegionConfig = {
|
|
2340
|
-
__PLAY_DOMAIN__: string;
|
|
2341
|
-
__BACKUP_PLAY_DOMAIN__?: string;
|
|
2342
|
-
__LOG_TEA_ID__: number;
|
|
2343
|
-
__LOG_CHANNEL__: TLogChannel;
|
|
2344
|
-
__LOG_CUSTOM_REGION__?: string;
|
|
2345
|
-
__UMD_PRE_PATH__: string;
|
|
2346
|
-
};
|
|
2347
|
-
export declare type TLogChannel = "cn" | "va" | "sg";
|
|
2348
2302
|
/** {zh}
|
|
2349
2303
|
* @brief 区域类型:
|
|
2350
2304
|
* - `'cn'`:中国内地
|
|
@@ -2540,7 +2494,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2540
2494
|
* @brief 编码格式
|
|
2541
2495
|
* @default unknown
|
|
2542
2496
|
*/
|
|
2543
|
-
codec?:
|
|
2497
|
+
codec?: CodecType;
|
|
2544
2498
|
/** {zh}
|
|
2545
2499
|
* @brief 线路唯一 ID
|
|
2546
2500
|
*/
|
|
@@ -2586,20 +2540,6 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2586
2540
|
* @default -
|
|
2587
2541
|
*/
|
|
2588
2542
|
urlExpireTimestamp?: number;
|
|
2589
|
-
/**
|
|
2590
|
-
* @brief 视频为加密视频时的密钥KeyId,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo} 接口返回的PlayInfoList项中的 PlayAuthId
|
|
2591
|
-
* @default -
|
|
2592
|
-
*/
|
|
2593
|
-
kid?: string;
|
|
2594
|
-
/** {zh}
|
|
2595
|
-
* @brief 私有加密播放的加密密钥,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo} 接口返回的PlayInfoList项中的 PlayAuth
|
|
2596
|
-
*/
|
|
2597
|
-
secretKey?: string;
|
|
2598
|
-
/**
|
|
2599
|
-
* @brief 视频为加密视频时的加密类型
|
|
2600
|
-
* @default -
|
|
2601
|
-
*/
|
|
2602
|
-
drmType?: EDRMTYPE;
|
|
2603
2543
|
/** {zh}
|
|
2604
2544
|
* @hidden
|
|
2605
2545
|
*/
|
|
@@ -2643,6 +2583,21 @@ export interface Current extends Partial<Stream> {
|
|
|
2643
2583
|
* @default -
|
|
2644
2584
|
*/
|
|
2645
2585
|
lineId?: number | string;
|
|
2586
|
+
/**
|
|
2587
|
+
* @brief 视频编码格式
|
|
2588
|
+
* @default unknown
|
|
2589
|
+
*/
|
|
2590
|
+
codec?: CodecType;
|
|
2591
|
+
/**
|
|
2592
|
+
* @brief 视频为加密视频时的密钥KeyId
|
|
2593
|
+
* @default -
|
|
2594
|
+
*/
|
|
2595
|
+
kid?: string;
|
|
2596
|
+
/**
|
|
2597
|
+
* @brief 视频为加密视频时的加密类型
|
|
2598
|
+
* @default -
|
|
2599
|
+
*/
|
|
2600
|
+
drmType?: EDRMTYPE;
|
|
2646
2601
|
/**
|
|
2647
2602
|
* @brief 地址的过期时间戳,vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
|
|
2648
2603
|
* @default -
|
|
@@ -2717,24 +2672,6 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2717
2672
|
* @memberof IPlayerConfig
|
|
2718
2673
|
*/
|
|
2719
2674
|
getVideoByToken?: IPlayAuthTokenConfig;
|
|
2720
|
-
/** {zh}
|
|
2721
|
-
* @brief 视频加密类型
|
|
2722
|
-
* @default -
|
|
2723
|
-
*/
|
|
2724
|
-
drmType?: EDRMTYPE;
|
|
2725
|
-
/** {zh}
|
|
2726
|
-
* @brief 私有加密会话id
|
|
2727
|
-
*/
|
|
2728
|
-
encryptSessionId?: string;
|
|
2729
|
-
/**
|
|
2730
|
-
* @brief 视频为加密视频时的密钥KeyId,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo} 接口返回的PlayInfoList项中的 PlayAuthId
|
|
2731
|
-
* @default -
|
|
2732
|
-
*/
|
|
2733
|
-
playAuthId?: string;
|
|
2734
|
-
/** {zh}
|
|
2735
|
-
* @brief 私有加密播放的加密密钥,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo} 接口返回的PlayInfoList项中的 PlayAuth
|
|
2736
|
-
*/
|
|
2737
|
-
playAuth?: string;
|
|
2738
2675
|
/** {zh}
|
|
2739
2676
|
* @brief 视频格式。取值如下:
|
|
2740
2677
|
* - `mp4`
|
|
@@ -2874,7 +2811,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2874
2811
|
* @listtip - 在已知视频编码方式的情况下推荐传入,以便日志分析。
|
|
2875
2812
|
* - 在 `useSoftDecoding` 参数为 `true`(开启 H.265 兼容降级模式)时,建议传入,可提升软解初始效率。
|
|
2876
2813
|
*/
|
|
2877
|
-
codec?:
|
|
2814
|
+
codec?: `${CodecType}`;
|
|
2878
2815
|
/** {zh}
|
|
2879
2816
|
* @brief 点播服务所在区域,影响服务接口和日志上报
|
|
2880
2817
|
* @default cn
|
|
@@ -3593,27 +3530,6 @@ export interface definitionItem {
|
|
|
3593
3530
|
*/
|
|
3594
3531
|
definitionTextKey?: string;
|
|
3595
3532
|
}
|
|
3596
|
-
/** {zh}
|
|
3597
|
-
* @brief 可扩展插件结构
|
|
3598
|
-
*/
|
|
3599
|
-
export interface EventPlugin {
|
|
3600
|
-
pluginName: string;
|
|
3601
|
-
type?: "inner" | "normal" | string;
|
|
3602
|
-
position?: string;
|
|
3603
|
-
icon?: string;
|
|
3604
|
-
index?: number;
|
|
3605
|
-
tips?: Transition;
|
|
3606
|
-
hideAtFullScreen?: boolean;
|
|
3607
|
-
}
|
|
3608
|
-
/** {zh}
|
|
3609
|
-
* @brief 多语言翻译结构体
|
|
3610
|
-
*/
|
|
3611
|
-
export interface Transition {
|
|
3612
|
-
jp?: string;
|
|
3613
|
-
en?: string;
|
|
3614
|
-
zh?: string;
|
|
3615
|
-
"zh-hk"?: string;
|
|
3616
|
-
}
|
|
3617
3533
|
/** {zh}
|
|
3618
3534
|
* @brief 插件按钮位置
|
|
3619
3535
|
*/
|
|
@@ -3660,7 +3576,7 @@ export declare const enum POSITIONS {
|
|
|
3660
3576
|
* @brief Plugin类插件基础配置
|
|
3661
3577
|
*/
|
|
3662
3578
|
export interface IPluginConfig {
|
|
3663
|
-
position?:
|
|
3579
|
+
position?: typeof Plugin.POSITIONS[keyof typeof Plugin.POSITIONS];
|
|
3664
3580
|
index?: number;
|
|
3665
3581
|
disable?: boolean;
|
|
3666
3582
|
}
|
|
@@ -3889,11 +3805,6 @@ export interface IThumbnailConfig {
|
|
|
3889
3805
|
*/
|
|
3890
3806
|
hidePortrait?: false;
|
|
3891
3807
|
}
|
|
3892
|
-
export interface ISourceConfig {
|
|
3893
|
-
url?: string;
|
|
3894
|
-
playList?: Stream[];
|
|
3895
|
-
getVideByToken?: IPlayAuthTokenConfig;
|
|
3896
|
-
}
|
|
3897
3808
|
/**
|
|
3898
3809
|
* @brief api map
|
|
3899
3810
|
* @hidden
|
|
@@ -4242,166 +4153,6 @@ declare class VeStrategyWrapper {
|
|
|
4242
4153
|
private initPreloaderConfig;
|
|
4243
4154
|
}
|
|
4244
4155
|
declare const _default: VeStrategyWrapper;
|
|
4245
|
-
declare enum UmdKeys {
|
|
4246
|
-
HLS = "hls",
|
|
4247
|
-
FLV = "flv",
|
|
4248
|
-
XGVideo = "XGVideo",
|
|
4249
|
-
HLSEncrypt = "hlsEncrypt",
|
|
4250
|
-
DASH = "dash",
|
|
4251
|
-
MP4Encrypt = "mp4Encrypt",
|
|
4252
|
-
DanmuJS = "danmujs",
|
|
4253
|
-
DanmuMask = "danmuMask",
|
|
4254
|
-
StreamProbe = "streamprobe",
|
|
4255
|
-
VeStrategy = "vestrategy",
|
|
4256
|
-
VeStrategyH265 = "vestrategy_h265",
|
|
4257
|
-
VeStrategyPreload = "vestrategy_preload",
|
|
4258
|
-
VeStrategyAdaptRange = "vestrategy_adapt_range",
|
|
4259
|
-
DashAbralgo = "DashAbralgo",
|
|
4260
|
-
Preloader = "preloader"
|
|
4261
|
-
}
|
|
4262
|
-
/**
|
|
4263
|
-
* @hidden
|
|
4264
|
-
* @breif umdmap 配置
|
|
4265
|
-
*/
|
|
4266
|
-
export declare type UMDMap = Record<UmdKeys, {
|
|
4267
|
-
/**
|
|
4268
|
-
* umd Module 的名称,即在window下暴露的接口名称
|
|
4269
|
-
*/
|
|
4270
|
-
name: string;
|
|
4271
|
-
/**
|
|
4272
|
-
* 对应umd文件名,只用来标记,实际不使用
|
|
4273
|
-
*/
|
|
4274
|
-
pluginName?: string;
|
|
4275
|
-
/**
|
|
4276
|
-
* 对应npm包的名称,在打包文件时,会在libd.config.js中onPostBuild的钩子中会用于寻找对应npm包
|
|
4277
|
-
*/
|
|
4278
|
-
packageName: string;
|
|
4279
|
-
/**
|
|
4280
|
-
* npm包中umd入口文件路径,用于打包上传到cdn目录
|
|
4281
|
-
*/
|
|
4282
|
-
devPath: string;
|
|
4283
|
-
}>;
|
|
4284
|
-
declare class UMDLoader {
|
|
4285
|
-
private static jsLoadMap;
|
|
4286
|
-
private static jsLoadPromiseMap;
|
|
4287
|
-
umdMap: UMDMap;
|
|
4288
|
-
backupUmdUrlMap: Record<string, string>;
|
|
4289
|
-
failCallback: (umdName: string, err: any) => any;
|
|
4290
|
-
region: TRegionType;
|
|
4291
|
-
customPluginPublicPath: string;
|
|
4292
|
-
importedPlugins: any[];
|
|
4293
|
-
constructor();
|
|
4294
|
-
/**
|
|
4295
|
-
* @return { string } 插件加载的公共路径
|
|
4296
|
-
*/
|
|
4297
|
-
get pluginPublicPath(): string;
|
|
4298
|
-
/**
|
|
4299
|
-
* 更新umd的备用地址
|
|
4300
|
-
* @param {Record<string, string>} map 备用地址map
|
|
4301
|
-
*/
|
|
4302
|
-
updateBackupMap(map: Record<string, string>): void;
|
|
4303
|
-
/**
|
|
4304
|
-
* 加载额外的js-sdk
|
|
4305
|
-
* 适用 umd 模块
|
|
4306
|
-
* 只能浏览器环境下使用
|
|
4307
|
-
* @param url 额外加载JS 的 CDN 地址
|
|
4308
|
-
* @param isJs 是否js文件
|
|
4309
|
-
*/
|
|
4310
|
-
loadExtraCdn(url: string, isJs?: boolean): Promise<void>;
|
|
4311
|
-
/**
|
|
4312
|
-
* @description 加载xgplayer插件
|
|
4313
|
-
* @param pluginName 插件名称
|
|
4314
|
-
* @param successCallback 加载完成后执行的回调
|
|
4315
|
-
* @return Promise<any>
|
|
4316
|
-
*/
|
|
4317
|
-
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
4318
|
-
}
|
|
4319
|
-
export declare class SdkPlugin {
|
|
4320
|
-
pluginName: string;
|
|
4321
|
-
__args: any;
|
|
4322
|
-
sdk: VePlayer;
|
|
4323
|
-
playerData: PlayerData;
|
|
4324
|
-
player: Player;
|
|
4325
|
-
_emitter: EventEmitter;
|
|
4326
|
-
static defineGetterOrSetter(Obj: any, map: any): void;
|
|
4327
|
-
/**
|
|
4328
|
-
* @type { string }
|
|
4329
|
-
*/
|
|
4330
|
-
static get pluginName(): string;
|
|
4331
|
-
/**
|
|
4332
|
-
* @constructor
|
|
4333
|
-
* @param { { sdk: object, pluginName: string, [propName: string]: any;} } args
|
|
4334
|
-
*/
|
|
4335
|
-
constructor(args: any);
|
|
4336
|
-
/**
|
|
4337
|
-
* @description sdk实例创建,挂载插件实例时首先执行
|
|
4338
|
-
*/
|
|
4339
|
-
beforeCreate(): void;
|
|
4340
|
-
/**
|
|
4341
|
-
* @description sdk实例创建,挂载插件实例完后执行
|
|
4342
|
-
*/
|
|
4343
|
-
afterCreate(): void;
|
|
4344
|
-
/**
|
|
4345
|
-
* @description sdk创建播放器前执行,只有这里能保证异步操作在creatPlayer之前同步完成
|
|
4346
|
-
*/
|
|
4347
|
-
beforePlayerCreate(): void;
|
|
4348
|
-
/**
|
|
4349
|
-
* @description sdk创建播放器完执行
|
|
4350
|
-
*/
|
|
4351
|
-
afterPlayerCreate(): void;
|
|
4352
|
-
/**
|
|
4353
|
-
* @description sdk销毁时执行
|
|
4354
|
-
*/
|
|
4355
|
-
destroy(): void;
|
|
4356
|
-
/**
|
|
4357
|
-
* @private
|
|
4358
|
-
* @param { any } args
|
|
4359
|
-
*/
|
|
4360
|
-
__init(args: any): void;
|
|
4361
|
-
/**
|
|
4362
|
-
* @description 插件销毁
|
|
4363
|
-
* @private
|
|
4364
|
-
*/
|
|
4365
|
-
__destroy(): void;
|
|
4366
|
-
}
|
|
4367
|
-
declare class AuthToken extends SdkPlugin {
|
|
4368
|
-
static get pluginName(): string;
|
|
4369
|
-
isPlayByToken: boolean;
|
|
4370
|
-
isEncrypt: boolean;
|
|
4371
|
-
tokenInfo: ITokenInfo;
|
|
4372
|
-
keyTokenInfo: ITokenInfo;
|
|
4373
|
-
thirdPartyDrmAuthTokenInfo: ITokenInfo;
|
|
4374
|
-
config: IPlayAuthTokenConfig;
|
|
4375
|
-
privateDrmAuthToken: string;
|
|
4376
|
-
useUnionInfoDRM: boolean;
|
|
4377
|
-
sessionId: string;
|
|
4378
|
-
retryCount: number;
|
|
4379
|
-
playInfo?: VideoInfoRes;
|
|
4380
|
-
constructor(args: any);
|
|
4381
|
-
beforePlayerCreate(): Promise<void>;
|
|
4382
|
-
getVideoInfo(): Promise<{
|
|
4383
|
-
vid: string;
|
|
4384
|
-
playList: Stream[];
|
|
4385
|
-
codec: ICodecType;
|
|
4386
|
-
defaultDefinition: string;
|
|
4387
|
-
}>;
|
|
4388
|
-
getVideos(): Promise<any>;
|
|
4389
|
-
getPrivateDrmInfo(playList: Stream[], vid: string, streamType: string): Promise<void>;
|
|
4390
|
-
getThumbnailConfig(thumbs: IThumbInfoItem[]): void;
|
|
4391
|
-
getBarrageMaskUrl(url: string): void;
|
|
4392
|
-
getDrmConfig(videoInfo: IVideoInfo): void;
|
|
4393
|
-
init(): void;
|
|
4394
|
-
initConfig(getVideoByToken: IPlayAuthTokenConfig): void;
|
|
4395
|
-
/**
|
|
4396
|
-
* @description 更新playAuthToken
|
|
4397
|
-
* @param {IPlayAuthTokenConfig} getVideoByToken token信息
|
|
4398
|
-
* @param {boolean} isNewVideo 是否新视频,即是否为切换视频
|
|
4399
|
-
*/
|
|
4400
|
-
updateAuthToken(getVideoByToken: IPlayAuthTokenConfig, isNewVideo: boolean): Promise<void>;
|
|
4401
|
-
checkPlayAuthTokenValid(): boolean;
|
|
4402
|
-
checkKeyTokenValid(): boolean;
|
|
4403
|
-
checkDrmAuthTokenValid(): boolean;
|
|
4404
|
-
}
|
|
4405
4156
|
/** {zh}
|
|
4406
4157
|
* @hidden
|
|
4407
4158
|
*/
|
|
@@ -4443,8 +4194,6 @@ declare abstract class AbstractBaseAdapter {
|
|
|
4443
4194
|
abstract adaptRangeDefaultOptions(): IAdaptRangeDefaultOptions | undefined;
|
|
4444
4195
|
abstract applyAdaptRangePluginConfig(_finalOptions: any, _adaptRangeOptions: any): void;
|
|
4445
4196
|
abstract applyAdaptRangeStrategy(_finalOptions: any, _adaptRangeOptions: any): void;
|
|
4446
|
-
abstract getPlugins(umdLoader: UMDLoader): Promise<XGPlugin[]>;
|
|
4447
|
-
abstract setPluginConfigInVid(videoInfo: IVideoInfo, context: AuthToken): void;
|
|
4448
4197
|
}
|
|
4449
4198
|
declare class PlayerData {
|
|
4450
4199
|
id?: string;
|
|
@@ -4460,7 +4209,7 @@ declare class PlayerData {
|
|
|
4460
4209
|
openSoftDecoding: boolean;
|
|
4461
4210
|
defaultConfig: IDefaultConfig | undefined;
|
|
4462
4211
|
isHitDefault: boolean;
|
|
4463
|
-
codec?:
|
|
4212
|
+
codec?: `${CodecType}`;
|
|
4464
4213
|
enableH265Degrade: boolean;
|
|
4465
4214
|
languageData: {
|
|
4466
4215
|
extraLangList: IXGI18nText[];
|
|
@@ -4491,25 +4240,12 @@ declare class PlayerData {
|
|
|
4491
4240
|
};
|
|
4492
4241
|
private isAutoBitrateEnable;
|
|
4493
4242
|
adapter: AbstractBaseAdapter;
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
*/
|
|
4497
|
-
isVidEncrypt: boolean;
|
|
4243
|
+
isBusinessDrm: boolean;
|
|
4244
|
+
isEncrypt: boolean;
|
|
4498
4245
|
dashOpts: {
|
|
4499
4246
|
Data: IGetPlayInfoRes;
|
|
4500
4247
|
};
|
|
4501
|
-
/**
|
|
4502
|
-
* @brief 播放器sdk实例
|
|
4503
|
-
*/
|
|
4504
4248
|
sdk: VePlayer;
|
|
4505
|
-
/**
|
|
4506
|
-
* @brief 当前加密播放类型,为空则表示非加密
|
|
4507
|
-
*/
|
|
4508
|
-
drmType: EDRMTYPE;
|
|
4509
|
-
/**
|
|
4510
|
-
* @brief 私有加密会话id
|
|
4511
|
-
*/
|
|
4512
|
-
encryptSessionId?: string;
|
|
4513
4249
|
constructor(configs: IPlayerConfig & {
|
|
4514
4250
|
licensSupportModuleList: string[];
|
|
4515
4251
|
}, sdk: VePlayer);
|
|
@@ -4526,7 +4262,6 @@ declare class PlayerData {
|
|
|
4526
4262
|
playList: Stream[];
|
|
4527
4263
|
};
|
|
4528
4264
|
isCurrentH265(): boolean;
|
|
4529
|
-
setDrmType(drmType: EDRMTYPE): void;
|
|
4530
4265
|
getCurrentByDefaultConfig(): Stream;
|
|
4531
4266
|
initCurrent(currentStreams: Stream): void;
|
|
4532
4267
|
initCheckExpireData(): void;
|
|
@@ -4639,6 +4374,80 @@ declare class MobilePlayerPanel {
|
|
|
4639
4374
|
bind(event: string, eventHandle: any, isBubble?: boolean): void;
|
|
4640
4375
|
destroy(): void;
|
|
4641
4376
|
}
|
|
4377
|
+
declare enum UmdKeys {
|
|
4378
|
+
HLS = "hls",
|
|
4379
|
+
FLV = "flv",
|
|
4380
|
+
XGVideo = "XGVideo",
|
|
4381
|
+
HLSEncrypt = "hlsEncrypt",
|
|
4382
|
+
DASH = "dash",
|
|
4383
|
+
MP4Encrypt = "mp4Encrypt",
|
|
4384
|
+
DanmuJS = "danmujs",
|
|
4385
|
+
DanmuMask = "danmuMask",
|
|
4386
|
+
StreamProbe = "streamprobe",
|
|
4387
|
+
VeStrategy = "vestrategy",
|
|
4388
|
+
VeStrategyH265 = "vestrategy_h265",
|
|
4389
|
+
VeStrategyPreload = "vestrategy_preload",
|
|
4390
|
+
VeStrategyAdaptRange = "vestrategy_adapt_range",
|
|
4391
|
+
DashAbralgo = "DashAbralgo",
|
|
4392
|
+
Preloader = "preloader"
|
|
4393
|
+
}
|
|
4394
|
+
/**
|
|
4395
|
+
* @hidden
|
|
4396
|
+
* @breif umdmap 配置
|
|
4397
|
+
*/
|
|
4398
|
+
export declare type UMDMap = Record<UmdKeys, {
|
|
4399
|
+
/**
|
|
4400
|
+
* umd Module 的名称,即在window下暴露的接口名称
|
|
4401
|
+
*/
|
|
4402
|
+
name: string;
|
|
4403
|
+
/**
|
|
4404
|
+
* 对应umd文件名,只用来标记,实际不使用
|
|
4405
|
+
*/
|
|
4406
|
+
pluginName?: string;
|
|
4407
|
+
/**
|
|
4408
|
+
* 对应npm包的名称,在打包文件时,会在libd.config.js中onPostBuild的钩子中会用于寻找对应npm包
|
|
4409
|
+
*/
|
|
4410
|
+
packageName: string;
|
|
4411
|
+
/**
|
|
4412
|
+
* npm包中umd入口文件路径,用于打包上传到cdn目录
|
|
4413
|
+
*/
|
|
4414
|
+
devPath: string;
|
|
4415
|
+
}>;
|
|
4416
|
+
declare class umdLoader {
|
|
4417
|
+
private static jsLoadMap;
|
|
4418
|
+
private static jsLoadPromiseMap;
|
|
4419
|
+
umdMap: UMDMap;
|
|
4420
|
+
backupUmdUrlMap: Record<string, string>;
|
|
4421
|
+
failCallback: (umdName: string, err: any) => any;
|
|
4422
|
+
region: TRegionType;
|
|
4423
|
+
customPluginPublicPath: string;
|
|
4424
|
+
importedPlugins: any[];
|
|
4425
|
+
constructor();
|
|
4426
|
+
/**
|
|
4427
|
+
* @return { string } 插件加载的公共路径
|
|
4428
|
+
*/
|
|
4429
|
+
get pluginPublicPath(): string;
|
|
4430
|
+
/**
|
|
4431
|
+
* 更新umd的备用地址
|
|
4432
|
+
* @param {Record<string, string>} map 备用地址map
|
|
4433
|
+
*/
|
|
4434
|
+
updateBackupMap(map: Record<string, string>): void;
|
|
4435
|
+
/**
|
|
4436
|
+
* 加载额外的js-sdk
|
|
4437
|
+
* 适用 umd 模块
|
|
4438
|
+
* 只能浏览器环境下使用
|
|
4439
|
+
* @param url 额外加载JS 的 CDN 地址
|
|
4440
|
+
* @param isJs 是否js文件
|
|
4441
|
+
*/
|
|
4442
|
+
loadExtraCdn(url: string, isJs?: boolean): Promise<void>;
|
|
4443
|
+
/**
|
|
4444
|
+
* @description 加载xgplayer插件
|
|
4445
|
+
* @param pluginName 插件名称
|
|
4446
|
+
* @param successCallback 加载完成后执行的回调
|
|
4447
|
+
* @return Promise<any>
|
|
4448
|
+
*/
|
|
4449
|
+
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
4450
|
+
}
|
|
4642
4451
|
export interface IlicenseContent {
|
|
4643
4452
|
content: string;
|
|
4644
4453
|
sign: string;
|
|
@@ -4687,23 +4496,6 @@ export declare type PlayerCore = Player & {
|
|
|
4687
4496
|
licenseType: LicenseEdition;
|
|
4688
4497
|
};
|
|
4689
4498
|
};
|
|
4690
|
-
/**
|
|
4691
|
-
* @brief 加密混淆信息
|
|
4692
|
-
*/
|
|
4693
|
-
export interface EncryptInfo {
|
|
4694
|
-
/**
|
|
4695
|
-
* @breif 会话ID
|
|
4696
|
-
*/
|
|
4697
|
-
sessionId: string;
|
|
4698
|
-
/**
|
|
4699
|
-
* @brief 混淆后的公钥
|
|
4700
|
-
*/
|
|
4701
|
-
drmKeK: string;
|
|
4702
|
-
/**
|
|
4703
|
-
* @breif 唯一身份信息
|
|
4704
|
-
*/
|
|
4705
|
-
unionInfo: string;
|
|
4706
|
-
}
|
|
4707
4499
|
declare class VePlayer {
|
|
4708
4500
|
/** {zh}
|
|
4709
4501
|
* @brief 播放相关配置数据
|
|
@@ -4806,7 +4598,7 @@ declare class VePlayer {
|
|
|
4806
4598
|
* @type {*}
|
|
4807
4599
|
* @memberof VePlayer
|
|
4808
4600
|
*/
|
|
4809
|
-
sdkUmdLoader:
|
|
4601
|
+
sdkUmdLoader: umdLoader;
|
|
4810
4602
|
private adapter;
|
|
4811
4603
|
/**
|
|
4812
4604
|
* @hidden
|
|
@@ -4826,16 +4618,10 @@ declare class VePlayer {
|
|
|
4826
4618
|
* @memberof VePlayer
|
|
4827
4619
|
*/
|
|
4828
4620
|
static sdkVersion: string;
|
|
4829
|
-
/**
|
|
4830
|
-
* @hidden
|
|
4831
|
-
* @private 私有加密会话id
|
|
4832
|
-
*/
|
|
4833
|
-
private static privateEncryptSessionId;
|
|
4834
4621
|
/**
|
|
4835
4622
|
* @hidden
|
|
4836
4623
|
*/
|
|
4837
4624
|
private veErrorIns;
|
|
4838
|
-
private vodLogCommon;
|
|
4839
4625
|
/** {zh}
|
|
4840
4626
|
* @brief 播放策略预初始化配置
|
|
4841
4627
|
* @param options 初始化配置,详情见{@link StrategyInitOptions}
|
|
@@ -4882,12 +4668,7 @@ declare class VePlayer {
|
|
|
4882
4668
|
static checkModuleList(): Promise<string[]>;
|
|
4883
4669
|
static checkLicenseStatus(): Promise<LicenseStatus>;
|
|
4884
4670
|
static checkLicenseModuleAuth(module: string, featureName: LicenseFeature): Promise<boolean>;
|
|
4885
|
-
|
|
4886
|
-
* @breif 生成加密混淆的数据信息
|
|
4887
|
-
* @param unionId 用户唯一id
|
|
4888
|
-
* @param streamType 私有加密视频的格式/协议,取值有:hls、mp4、dash。
|
|
4889
|
-
*/
|
|
4890
|
-
static generateEncryptInfo(unionId: string, streamType: "hls" | "mp4" | "dash"): Promise<EncryptInfo | undefined>;
|
|
4671
|
+
private static vodLogCommon;
|
|
4891
4672
|
private static hasInitVeStrategy;
|
|
4892
4673
|
/**
|
|
4893
4674
|
* @hidden
|
|
@@ -4928,18 +4709,12 @@ declare class VePlayer {
|
|
|
4928
4709
|
* @memberof VePlayer
|
|
4929
4710
|
*/
|
|
4930
4711
|
private _initCheckExpire;
|
|
4931
|
-
/**
|
|
4932
|
-
* @hidden
|
|
4933
|
-
* @description 初始化umdLoader 的配置
|
|
4934
|
-
* @memberof VePlayer
|
|
4935
|
-
*/
|
|
4936
|
-
private initUmdLoader;
|
|
4937
4712
|
/**
|
|
4938
4713
|
* @hidden
|
|
4939
4714
|
* @description 更新umdLoader 的配置
|
|
4940
4715
|
* @memberof VePlayer
|
|
4941
4716
|
*/
|
|
4942
|
-
private
|
|
4717
|
+
private initUmdLoader;
|
|
4943
4718
|
/**
|
|
4944
4719
|
* @hidden
|
|
4945
4720
|
* @private
|
|
@@ -5286,7 +5061,7 @@ declare class VePlayer {
|
|
|
5286
5061
|
getSoftDecodingOption(isOpenSoftDecoding: boolean, url: string, type: string): Promise<{
|
|
5287
5062
|
mediaType?: string;
|
|
5288
5063
|
innerDegrade?: number;
|
|
5289
|
-
codecType?:
|
|
5064
|
+
codecType?: `${CodecType}`;
|
|
5290
5065
|
plugins?: any[];
|
|
5291
5066
|
}>;
|
|
5292
5067
|
/** {zh}
|
|
@@ -5757,6 +5532,59 @@ export declare class Subtitle extends Plugin {
|
|
|
5757
5532
|
destroy(): void;
|
|
5758
5533
|
render(): string;
|
|
5759
5534
|
}
|
|
5535
|
+
export declare type AdRuleOffset = "pre" | "post" | `${number}:${number}:${number}`;
|
|
5536
|
+
export declare type AdRuleType = "linear" | "nonlinear";
|
|
5537
|
+
export interface AdRule {
|
|
5538
|
+
offset: AdRuleOffset;
|
|
5539
|
+
tag: string;
|
|
5540
|
+
type: AdRuleType;
|
|
5541
|
+
}
|
|
5542
|
+
export interface AdsConfig {
|
|
5543
|
+
controls?: boolean;
|
|
5544
|
+
enableSCTE35?: boolean;
|
|
5545
|
+
replayForSCTE35?: {
|
|
5546
|
+
enable?: boolean;
|
|
5547
|
+
minDurationOffset?: number;
|
|
5548
|
+
};
|
|
5549
|
+
adType: "ima" | "google-ima" | "ssai";
|
|
5550
|
+
ima: AdsPluginConfig["ima"] & {
|
|
5551
|
+
schedule?: AdRule[];
|
|
5552
|
+
adTagUrlForSCTE35?: string;
|
|
5553
|
+
};
|
|
5554
|
+
}
|
|
5555
|
+
export declare class AdsPlugin extends XGAdsPlugin {
|
|
5556
|
+
config: AdsConfig;
|
|
5557
|
+
csManager: any;
|
|
5558
|
+
player: any;
|
|
5559
|
+
root: any;
|
|
5560
|
+
private _scte35Manager?;
|
|
5561
|
+
private _ssManager?;
|
|
5562
|
+
private _onPlay?;
|
|
5563
|
+
private _onTimeUpdate?;
|
|
5564
|
+
private _onPause?;
|
|
5565
|
+
private _onError?;
|
|
5566
|
+
private _onClick?;
|
|
5567
|
+
static get pluginName(): string;
|
|
5568
|
+
get adManager(): any;
|
|
5569
|
+
afterCreate(): void;
|
|
5570
|
+
afterPlayerInit(): void;
|
|
5571
|
+
beforePlayerInit(): Promise<any>;
|
|
5572
|
+
destroy(): void;
|
|
5573
|
+
private _clearSSAIListener;
|
|
5574
|
+
private _setupSSAIListener;
|
|
5575
|
+
private _dispatchEvent;
|
|
5576
|
+
private _init;
|
|
5577
|
+
/**
|
|
5578
|
+
* Preroll广告播放完,retry重新拉流保证启播延迟
|
|
5579
|
+
*/
|
|
5580
|
+
/**
|
|
5581
|
+
* 如果存在midroll广告,需要将disconnectTime和maxLatency设为最大值,否则currentTime的变化会影响展示时间
|
|
5582
|
+
*/
|
|
5583
|
+
/**
|
|
5584
|
+
* 静音播放Preroll广告时,需要显示autoplayPlugin插件的ummute蒙层
|
|
5585
|
+
*/
|
|
5586
|
+
private _handlePrerollMuted;
|
|
5587
|
+
}
|
|
5760
5588
|
export declare class TimeShiftPlugin extends Plugin {
|
|
5761
5589
|
static get pluginName(): string;
|
|
5762
5590
|
static get defaultConfig(): {
|
|
@@ -5954,6 +5782,54 @@ export declare class LiveInfoPanel extends Plugin {
|
|
|
5954
5782
|
close(): void;
|
|
5955
5783
|
render(): string;
|
|
5956
5784
|
}
|
|
5785
|
+
export declare class SdkPlugin {
|
|
5786
|
+
pluginName: string;
|
|
5787
|
+
__args: any;
|
|
5788
|
+
sdk: VePlayer;
|
|
5789
|
+
playerData: PlayerData;
|
|
5790
|
+
player: Player;
|
|
5791
|
+
_emitter: EventEmitter;
|
|
5792
|
+
static defineGetterOrSetter(Obj: any, map: any): void;
|
|
5793
|
+
/**
|
|
5794
|
+
* @type { string }
|
|
5795
|
+
*/
|
|
5796
|
+
static get pluginName(): string;
|
|
5797
|
+
/**
|
|
5798
|
+
* @constructor
|
|
5799
|
+
* @param { { sdk: object, pluginName: string, [propName: string]: any;} } args
|
|
5800
|
+
*/
|
|
5801
|
+
constructor(args: any);
|
|
5802
|
+
/**
|
|
5803
|
+
* @description sdk实例创建,挂载插件实例时首先执行
|
|
5804
|
+
*/
|
|
5805
|
+
beforeCreate(): void;
|
|
5806
|
+
/**
|
|
5807
|
+
* @description sdk实例创建,挂载插件实例完后执行
|
|
5808
|
+
*/
|
|
5809
|
+
afterCreate(): void;
|
|
5810
|
+
/**
|
|
5811
|
+
* @description sdk创建播放器前执行,只有这里能保证异步操作在creatPlayer之前同步完成
|
|
5812
|
+
*/
|
|
5813
|
+
beforePlayerCreate(): void;
|
|
5814
|
+
/**
|
|
5815
|
+
* @description sdk创建播放器完执行
|
|
5816
|
+
*/
|
|
5817
|
+
afterPlayerCreate(): void;
|
|
5818
|
+
/**
|
|
5819
|
+
* @description sdk销毁时执行
|
|
5820
|
+
*/
|
|
5821
|
+
destroy(): void;
|
|
5822
|
+
/**
|
|
5823
|
+
* @private
|
|
5824
|
+
* @param { any } args
|
|
5825
|
+
*/
|
|
5826
|
+
__init(args: any): void;
|
|
5827
|
+
/**
|
|
5828
|
+
* @description 插件销毁
|
|
5829
|
+
* @private
|
|
5830
|
+
*/
|
|
5831
|
+
__destroy(): void;
|
|
5832
|
+
}
|
|
5957
5833
|
export declare const Events: {
|
|
5958
5834
|
/** {zh}
|
|
5959
5835
|
* @brief 弹幕配置发生变化。
|