@volcengine/veplayer 1.8.6-rc.9 → 1.8.7-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.d.ts +476 -210
- package/index.min.css +1 -1
- package/index.min.js +2 -2
- package/package.json +1 -1
- package/plugin/hls.js +1 -1
- package/plugin/mp4Encrypt.js +2 -2
- package/plugin/preloader.js +2 -0
package/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { VeStrategyH265Config } from '@volcengine/vestrategy-h265';
|
|
|
5
5
|
import EventEmitter from 'eventemitter3';
|
|
6
6
|
import Player from 'xgplayer';
|
|
7
7
|
import { BasePlugin, I18N, IXGI18nText, Plugin } from 'xgplayer';
|
|
8
|
+
import { IUrl } from 'xgplayer/es/defaultConfig';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* @brief 插件按钮位置
|
|
@@ -780,53 +781,81 @@ export interface ITextItem {
|
|
|
780
781
|
/**
|
|
781
782
|
* @brief 清晰度自动降级配置
|
|
782
783
|
* @list Options
|
|
783
|
-
* @
|
|
784
|
-
*
|
|
785
|
-
* @export
|
|
786
|
-
* @interface IDefinitionDemotePlugin
|
|
784
|
+
* @kind property
|
|
787
785
|
*/
|
|
788
786
|
export interface IDefinitionDemotePlugin {
|
|
789
787
|
/**
|
|
790
|
-
*
|
|
791
|
-
*
|
|
788
|
+
* @brief 是否自动触发降级
|
|
789
|
+
* @default true
|
|
792
790
|
*
|
|
793
|
-
* @type {number}
|
|
794
|
-
* @memberof IDefinitionDemotePlugin
|
|
795
791
|
*/
|
|
796
|
-
|
|
792
|
+
isNeedAutoDemote?: boolean;
|
|
797
793
|
/**
|
|
798
|
-
*
|
|
799
|
-
*
|
|
794
|
+
* @brief 降级顺序,按照数组 顺序依次降级,数组 中的元素与playList 中的 definition 相对应
|
|
795
|
+
* @default []
|
|
800
796
|
*
|
|
801
|
-
* @type {
|
|
797
|
+
* @type {string[]}
|
|
802
798
|
* @memberof IDefinitionDemotePlugin
|
|
803
799
|
*/
|
|
804
|
-
|
|
800
|
+
demotePriority?: string[];
|
|
805
801
|
/**
|
|
806
|
-
*
|
|
807
|
-
*
|
|
802
|
+
* @brief 长时间卡顿的时间阈值,单位为ms。卡顿超过该值,即为长时间卡顿
|
|
803
|
+
* @default 5000
|
|
808
804
|
*
|
|
809
|
-
* @type {number}
|
|
810
|
-
* @memberof IDefinitionDemotePlugin
|
|
811
805
|
*/
|
|
812
806
|
longWaitingTime?: number;
|
|
813
807
|
/**
|
|
814
|
-
*
|
|
815
|
-
*
|
|
808
|
+
* @brief 频繁卡顿的次数阈值。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
809
|
+
* @default 3
|
|
816
810
|
*
|
|
817
|
-
* @type {boolean}
|
|
818
|
-
* @memberof IDefinitionDemotePlugin
|
|
819
811
|
*/
|
|
820
|
-
|
|
812
|
+
oftenWaitingCount?: number;
|
|
821
813
|
/**
|
|
822
|
-
*
|
|
823
|
-
*
|
|
824
|
-
* 默认: ['uhd', 'hd', 'sd', 'ld', 'ao']
|
|
825
|
-
*
|
|
826
|
-
* @type {string[]}
|
|
827
|
-
* @memberof IDefinitionDemotePlugin
|
|
814
|
+
* @brief 频繁卡顿的时间范围。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
815
|
+
* @default 5000
|
|
828
816
|
*/
|
|
829
|
-
|
|
817
|
+
oftenWaitingTime?: number;
|
|
818
|
+
/**
|
|
819
|
+
* @brief 卡顿时是否显示建议切换清晰度的提醒tips
|
|
820
|
+
* @default true
|
|
821
|
+
*/
|
|
822
|
+
isNeedShowTips?: boolean;
|
|
823
|
+
/**
|
|
824
|
+
* @brief 提醒降级的toast显示持续时间,单位ms
|
|
825
|
+
* @default 3000
|
|
826
|
+
*/
|
|
827
|
+
toastShowTime?: number;
|
|
828
|
+
}
|
|
829
|
+
export declare class DefinitionDemotePlugin extends Plugin {
|
|
830
|
+
static get pluginName(): string;
|
|
831
|
+
waitings: number[];
|
|
832
|
+
timer: ReturnType<typeof setTimeout>;
|
|
833
|
+
toastId: number;
|
|
834
|
+
longWaitingEmitTime: number;
|
|
835
|
+
waitingStartTime: number;
|
|
836
|
+
playerData: PlayerData;
|
|
837
|
+
static get defaultConfig(): IDefinitionDemotePlugin;
|
|
838
|
+
constructor(args: any);
|
|
839
|
+
registerLanguageTexts(): {
|
|
840
|
+
definition_demote_txt: {
|
|
841
|
+
jp: string;
|
|
842
|
+
en: string;
|
|
843
|
+
zh: string;
|
|
844
|
+
"zh-hk": string;
|
|
845
|
+
};
|
|
846
|
+
};
|
|
847
|
+
afterCreate(): void;
|
|
848
|
+
bindCtx(): void;
|
|
849
|
+
bindEvents(): void;
|
|
850
|
+
_waiting(): void;
|
|
851
|
+
_count(): void;
|
|
852
|
+
_time(): void;
|
|
853
|
+
_clearTime(): void;
|
|
854
|
+
clearState(): void;
|
|
855
|
+
demote(): void;
|
|
856
|
+
changeUrl(url: string): void;
|
|
857
|
+
showToast(definition: Stream): void;
|
|
858
|
+
destroy(): void;
|
|
830
859
|
}
|
|
831
860
|
/**
|
|
832
861
|
* @brief DASH 播放配置。
|
|
@@ -840,7 +869,7 @@ export interface IDashPluginConfig {
|
|
|
840
869
|
/**
|
|
841
870
|
* @brief 视频 ID。
|
|
842
871
|
* @default -
|
|
843
|
-
* @
|
|
872
|
+
* @notes 播放加密视频时必选
|
|
844
873
|
*/
|
|
845
874
|
/** {en}
|
|
846
875
|
* @brief 视频vid
|
|
@@ -1011,7 +1040,7 @@ export interface IVodLogOptsConfig {
|
|
|
1011
1040
|
/**
|
|
1012
1041
|
* @brief 用于识别单一用户的 ID,可在{@link https://www.volcengine.com/docs/4/75736#qoe-%E6%8C%87%E6%A0%87%E8%AF%B4%E6%98%8E QoE指标}中用于用户维度的筛选,也可以用于{@link https://www.volcengine.com/docs/4/106093 单点追查} 查找单用户的播放日志
|
|
1013
1042
|
* 用户 ID 对应于单点追查功能的查询条件中的设备 ID 维度。如不设置用户 ID,VePlayer 将根据用户浏览器随机生成一个值,该值会在浏览器端缓存。
|
|
1014
|
-
* @
|
|
1043
|
+
* @notes 强烈建议您使用与业务相关的用户 ID,以便在发生播放错误时通过{@link https://console.volcengine.com/vod/region:vod+cn-north-1/quality_control/SingleTracing/?Tab=play 点播控制台 > 质量平台 > 单点追查}功能排查故障。
|
|
1015
1044
|
* @default -
|
|
1016
1045
|
*/
|
|
1017
1046
|
line_user_id: string | number;
|
|
@@ -1023,7 +1052,7 @@ export interface IVodLogOptsConfig {
|
|
|
1023
1052
|
vtype?: "MP4" | "HLS" | "DASH" | "FLV";
|
|
1024
1053
|
/**
|
|
1025
1054
|
* @brief 业务标签。对应于质量平台上的业务类型维度,其作用是区分业务中的不同场景,以便进行多维度分析。举例来说,假设您的应用中包含短视频和长视频两个场景,则可分别将 `tag` 设为 `short` 和 `long`。这样一来,您就能够在{@link https://www.volcengine.com/docs/4/120175 质量平台}上通过业务标签维度查询或过滤不同场景的数据。
|
|
1026
|
-
* @
|
|
1055
|
+
* @notes 如需自定义配置 tag 值在点播控制台上的展示文案,请联系{@link https://www.volcengine.com/docs/4/108992#%E5%94%AE%E5%90%8E%E6%94%AF%E6%8C%81 技术支持}
|
|
1027
1056
|
* @default 普通视频
|
|
1028
1057
|
*/
|
|
1029
1058
|
tag?: string;
|
|
@@ -1401,7 +1430,7 @@ export declare const enum TOGGLE_MODES {
|
|
|
1401
1430
|
*/
|
|
1402
1431
|
export interface IPlayListItem {
|
|
1403
1432
|
/**
|
|
1404
|
-
* @
|
|
1433
|
+
* @notes `playAuthToken` 为空时,此参数必传。
|
|
1405
1434
|
* @default -
|
|
1406
1435
|
* @listtip `playAuthToken` 为空时,此参数必传。
|
|
1407
1436
|
* @brief 视频地址。
|
|
@@ -1410,7 +1439,7 @@ export interface IPlayListItem {
|
|
|
1410
1439
|
*/
|
|
1411
1440
|
url?: string;
|
|
1412
1441
|
/**
|
|
1413
|
-
* @
|
|
1442
|
+
* @notes `url` 为空时,此参数必传。
|
|
1414
1443
|
* @default -
|
|
1415
1444
|
* @listtip `url` 为空时,此参数必传。
|
|
1416
1445
|
* @brief 播放临时安全凭证,由业务的 AppServer 签发。
|
|
@@ -1483,7 +1512,7 @@ export interface IPlayListConfig {
|
|
|
1483
1512
|
* - `rootRight`:播放器根节点右侧
|
|
1484
1513
|
* - `rootTop`:播放器根节点顶部
|
|
1485
1514
|
* - `root`:播放器根节点
|
|
1486
|
-
* @
|
|
1515
|
+
* @notes 此参数同时影响“打开/关闭播放列表”和“播放下一个”两个按钮的位置。
|
|
1487
1516
|
* @default controlsLeft
|
|
1488
1517
|
*/
|
|
1489
1518
|
/** {en}
|
|
@@ -1631,7 +1660,188 @@ export declare class PlayListPlugin extends Plugin {
|
|
|
1631
1660
|
get disable(): boolean;
|
|
1632
1661
|
render(): string;
|
|
1633
1662
|
}
|
|
1634
|
-
|
|
1663
|
+
/**
|
|
1664
|
+
* @brief 动态水印配置。
|
|
1665
|
+
* @list Options
|
|
1666
|
+
* @kind property
|
|
1667
|
+
*/
|
|
1668
|
+
/** {en}
|
|
1669
|
+
* @brief watermark config
|
|
1670
|
+
*/
|
|
1671
|
+
export interface IWatermarkConfig {
|
|
1672
|
+
/**
|
|
1673
|
+
* @brief 是否开启水印
|
|
1674
|
+
* @default false
|
|
1675
|
+
*/
|
|
1676
|
+
enable: boolean;
|
|
1677
|
+
/**
|
|
1678
|
+
* @brief 水印文案内容
|
|
1679
|
+
* @default -
|
|
1680
|
+
*/
|
|
1681
|
+
content: string;
|
|
1682
|
+
/**
|
|
1683
|
+
* @brief 水印展示形式
|
|
1684
|
+
* - 0: 固定位置
|
|
1685
|
+
* - 1: 全屏滚动
|
|
1686
|
+
* - 2: 随机闪烁
|
|
1687
|
+
* @default 1
|
|
1688
|
+
*/
|
|
1689
|
+
displayType: 0 | 1 | 2;
|
|
1690
|
+
/**
|
|
1691
|
+
* @brief 水印字体大小,number类型时单位为px,string类型需要携带单位
|
|
1692
|
+
* @default 12
|
|
1693
|
+
*/
|
|
1694
|
+
fontSize: number | string;
|
|
1695
|
+
/**
|
|
1696
|
+
* @brief 水印字体颜色
|
|
1697
|
+
* @brief #FFFFFF
|
|
1698
|
+
*/
|
|
1699
|
+
fontColor: string;
|
|
1700
|
+
/**
|
|
1701
|
+
* @brief 不透明度
|
|
1702
|
+
* @default 0.3
|
|
1703
|
+
*/
|
|
1704
|
+
opacity: number;
|
|
1705
|
+
/**
|
|
1706
|
+
* @brief 水印闪烁速度
|
|
1707
|
+
* @default MODERATE
|
|
1708
|
+
* - MODERATE: 适中
|
|
1709
|
+
* - FAST: 较快
|
|
1710
|
+
* - SLOW: 较慢
|
|
1711
|
+
*/
|
|
1712
|
+
tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
|
|
1713
|
+
/**
|
|
1714
|
+
* @brief 水印字体类型
|
|
1715
|
+
* @default -
|
|
1716
|
+
*/
|
|
1717
|
+
fontFamily?: string;
|
|
1718
|
+
/**
|
|
1719
|
+
* @brief 水印相对于播放容器顶部起始位置,单位px
|
|
1720
|
+
* @default 0
|
|
1721
|
+
*/
|
|
1722
|
+
top?: number;
|
|
1723
|
+
/**
|
|
1724
|
+
* @brief 水印相对于播放容器左侧起始位置,单位px
|
|
1725
|
+
* @default 0
|
|
1726
|
+
*/
|
|
1727
|
+
left?: number;
|
|
1728
|
+
/**
|
|
1729
|
+
* @brief 水印相对于播放容器底部起始位置,单位px
|
|
1730
|
+
* @default -
|
|
1731
|
+
*/
|
|
1732
|
+
bottom?: number;
|
|
1733
|
+
/**
|
|
1734
|
+
* @brief 水印相对于播放容器右侧起始位置,单位px
|
|
1735
|
+
* @default -
|
|
1736
|
+
*/
|
|
1737
|
+
right?: number;
|
|
1738
|
+
}
|
|
1739
|
+
export declare class DynamicWatermarkPlugin extends Plugin {
|
|
1740
|
+
private wm;
|
|
1741
|
+
static get pluginName(): string;
|
|
1742
|
+
static get defaultConfig(): IWatermarkConfig & {
|
|
1743
|
+
position: string;
|
|
1744
|
+
};
|
|
1745
|
+
constructor(props: any);
|
|
1746
|
+
afterCreate(): void;
|
|
1747
|
+
start(): void;
|
|
1748
|
+
pause(): void;
|
|
1749
|
+
resume(): void;
|
|
1750
|
+
resize(): void;
|
|
1751
|
+
_initWatermark(): void;
|
|
1752
|
+
destroy(): void;
|
|
1753
|
+
render(): string | HTMLElement;
|
|
1754
|
+
}
|
|
1755
|
+
declare class ToastPlugin extends Plugin {
|
|
1756
|
+
static get pluginName(): string;
|
|
1757
|
+
static get defaultConfig(): {
|
|
1758
|
+
index: number;
|
|
1759
|
+
};
|
|
1760
|
+
constructor(args: any);
|
|
1761
|
+
private toastNumber;
|
|
1762
|
+
private toastMaps;
|
|
1763
|
+
beforePlayerInit(): void;
|
|
1764
|
+
afterPlayerInit(): void;
|
|
1765
|
+
afterCreate(): void;
|
|
1766
|
+
destroy(): void;
|
|
1767
|
+
add(content: string | HTMLElement, duration?: number, isNeedCloseBt?: boolean): number;
|
|
1768
|
+
remove(id: number): void;
|
|
1769
|
+
renderToast(content: string | HTMLElement, isNeedCloseBt: any, id: any): HTMLElement;
|
|
1770
|
+
render(): string;
|
|
1771
|
+
}
|
|
1772
|
+
/** {zh}
|
|
1773
|
+
* @brief 记忆播放配置。
|
|
1774
|
+
* @kind property
|
|
1775
|
+
* @list Options
|
|
1776
|
+
* @interface IMemoryPlayConfig
|
|
1777
|
+
*/
|
|
1778
|
+
export interface IMemoryPlayConfig {
|
|
1779
|
+
/** {zh}
|
|
1780
|
+
* @brief 存储标识id
|
|
1781
|
+
* @default 视频vid或视频地址(去除query参数)
|
|
1782
|
+
*
|
|
1783
|
+
* @type {number | string}
|
|
1784
|
+
* @memberof IMemoryPlayConfig
|
|
1785
|
+
*/
|
|
1786
|
+
memoryId: number | string;
|
|
1787
|
+
/** {zh}
|
|
1788
|
+
* @brief 设置存储记忆时间的回调函数
|
|
1789
|
+
* @default -
|
|
1790
|
+
* @param id 存储标识id,由SDK传入
|
|
1791
|
+
* @param time 需要记忆的时间点
|
|
1792
|
+
* @type {(id: number | string, time: number) => unknown}
|
|
1793
|
+
* @memberof IMemoryPlayConfig
|
|
1794
|
+
*/
|
|
1795
|
+
saveTime?: (id: number | string, time: number) => unknown;
|
|
1796
|
+
/** {zh}
|
|
1797
|
+
* @brief 获取最后一次播放时间的回调函数
|
|
1798
|
+
* @param id 存储标识id,由SDK传入
|
|
1799
|
+
* @default -
|
|
1800
|
+
*/
|
|
1801
|
+
getTime?: (id: number | string) => number | Promise<number>;
|
|
1802
|
+
/** {zh}
|
|
1803
|
+
* @brief 判断是否播放了最小时间阈值,即如果播的时长太小,则不算做播放过,存储的时间进度为0
|
|
1804
|
+
* @default 1
|
|
1805
|
+
*/
|
|
1806
|
+
minStartTime?: number;
|
|
1807
|
+
/** {zh}
|
|
1808
|
+
* @brief 判断是否播放结束的最小时间阈值,即距离结束多少时间内算作播放结束,播放结束则不存储时间进度,且清空之前的进度为0
|
|
1809
|
+
* @default 1
|
|
1810
|
+
*/
|
|
1811
|
+
minEndTime?: number;
|
|
1812
|
+
}
|
|
1813
|
+
export declare class MemoryPlay extends Plugin {
|
|
1814
|
+
static get pluginName(): string;
|
|
1815
|
+
static get defaultConfig(): IMemoryPlayConfig;
|
|
1816
|
+
startTime: number;
|
|
1817
|
+
saveTimeFun: (id: number | string, time: number) => unknown;
|
|
1818
|
+
getTimeFun: (id: number | string) => number | Promise<number>;
|
|
1819
|
+
memoryId: number | string;
|
|
1820
|
+
shouldShowToast: boolean;
|
|
1821
|
+
constructor(args: any);
|
|
1822
|
+
registerLanguageTexts(): {
|
|
1823
|
+
preText: {
|
|
1824
|
+
jp: string;
|
|
1825
|
+
en: string;
|
|
1826
|
+
zh: string;
|
|
1827
|
+
"zh-hk": string;
|
|
1828
|
+
};
|
|
1829
|
+
};
|
|
1830
|
+
children(): {
|
|
1831
|
+
toast: typeof ToastPlugin;
|
|
1832
|
+
};
|
|
1833
|
+
afterCreate(): void;
|
|
1834
|
+
beforePlayerInit(): Promise<void>;
|
|
1835
|
+
getTime(): Promise<void>;
|
|
1836
|
+
saveTime(): void;
|
|
1837
|
+
visibilitychangeCallback(): void;
|
|
1838
|
+
setSave(): void;
|
|
1839
|
+
showToast(): void;
|
|
1840
|
+
saveTimeByStorage(memoryId: string, time: number): void;
|
|
1841
|
+
getTimeByStorage(memoryId: string): string | 0;
|
|
1842
|
+
destroy(): void;
|
|
1843
|
+
}
|
|
1844
|
+
export interface IPlayInfoListItem {
|
|
1635
1845
|
BackupPlayUrl: string;
|
|
1636
1846
|
BackupUrlExpire: string;
|
|
1637
1847
|
BarrageMaskOffset: string;
|
|
@@ -1813,7 +2023,7 @@ export interface IMusicConfig {
|
|
|
1813
2023
|
* @export
|
|
1814
2024
|
* @interface Stream
|
|
1815
2025
|
*/
|
|
1816
|
-
export interface Stream extends Partial<
|
|
2026
|
+
export interface Stream extends Partial<IPlayInfoListItem> {
|
|
1817
2027
|
/** {zh}
|
|
1818
2028
|
* @type {('rtm' | 'flv' | 'mp4' | 'hls')}
|
|
1819
2029
|
* @memberof IPlayerConfig
|
|
@@ -1837,6 +2047,13 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1837
2047
|
* @brief 清晰度 key
|
|
1838
2048
|
*/
|
|
1839
2049
|
definition?: string;
|
|
2050
|
+
/** {zh}
|
|
2051
|
+
* @type {string}
|
|
2052
|
+
* @memberof Stream
|
|
2053
|
+
* @brief 映射清晰度 key,用于清晰度降级中设置自动档位实际对应的definition
|
|
2054
|
+
* @default -
|
|
2055
|
+
*/
|
|
2056
|
+
mapDefinition?: string;
|
|
1840
2057
|
/** {zh}
|
|
1841
2058
|
* @type {string}
|
|
1842
2059
|
* @memberof Stream
|
|
@@ -1868,6 +2085,16 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1868
2085
|
* @brief 多语言词典中对应的 key。比如 `lineTextKey: LINE_ONE`。
|
|
1869
2086
|
*/
|
|
1870
2087
|
lineTextKey?: string;
|
|
2088
|
+
/**
|
|
2089
|
+
* @brief 码流的平均码率
|
|
2090
|
+
* @default -
|
|
2091
|
+
*/
|
|
2092
|
+
bitrate?: number;
|
|
2093
|
+
/**
|
|
2094
|
+
* @brief 码流流畅播放需要的带宽
|
|
2095
|
+
* @default -
|
|
2096
|
+
*/
|
|
2097
|
+
bandwidth?: number;
|
|
1871
2098
|
/** {zh}
|
|
1872
2099
|
* @hidden
|
|
1873
2100
|
*/
|
|
@@ -1975,12 +2202,12 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1975
2202
|
* - `true`:是
|
|
1976
2203
|
* - `false`:否
|
|
1977
2204
|
* @default false
|
|
1978
|
-
* @
|
|
2205
|
+
* @notes 受限制于浏览器策略,自动播放不一定能成功,取决于浏览器环境、用户行为、浏览器配置等,详细参考自动播放 @link https://www.volcengine.com/docs/4/68693#%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE
|
|
1979
2206
|
* @listtip 受限于浏览器策略,自动播放不一定能成功,取决于浏览器环境、用户行为、浏览器配置等。详情请参考[自动播放](https://www.volcengine.com/docs/4/68693#%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE)。
|
|
1980
2207
|
*/
|
|
1981
2208
|
autoplay?: boolean;
|
|
1982
2209
|
/** {zh}
|
|
1983
|
-
* @brief
|
|
2210
|
+
* @brief 视频封面图配置。
|
|
1984
2211
|
*/
|
|
1985
2212
|
poster?: string | IPoster;
|
|
1986
2213
|
/** {zh}
|
|
@@ -2041,7 +2268,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2041
2268
|
* ```javascript
|
|
2042
2269
|
* { zh: { PIP: '画中画' }, en: { PIP: 'pip' }}
|
|
2043
2270
|
* ```
|
|
2044
|
-
* @
|
|
2271
|
+
* @notes
|
|
2045
2272
|
* @see 了解更多,请参见{@link https://www.volcengine.com/docs/6469/127529 默认词典}。
|
|
2046
2273
|
* @listtip 了解更多,请参见[默认词典](https://www.volcengine.com/docs/6469/127529)。
|
|
2047
2274
|
*/
|
|
@@ -2051,7 +2278,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2051
2278
|
/** {zh}
|
|
2052
2279
|
* @brief 画中画配置。
|
|
2053
2280
|
* @default PC: {position: 'controlsRight', index: 2.5, showIcon: true}; mobile:false
|
|
2054
|
-
* @
|
|
2281
|
+
* @notes 画中画功能由浏览器提供,如果本身浏览器不支持,即使有该配置也不显示画中画按钮
|
|
2055
2282
|
* @listtip 画中画功能由浏览器提供。如果浏览器不支持,即使传入此配置也不会显示画中画按钮。
|
|
2056
2283
|
*/
|
|
2057
2284
|
pip?: IPIPConfig | boolean;
|
|
@@ -2081,7 +2308,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2081
2308
|
definitionTextKey?: string;
|
|
2082
2309
|
/** {zh}
|
|
2083
2310
|
* @brief 视频编码格式。
|
|
2084
|
-
* @
|
|
2311
|
+
* @notes 在已知视频编码方式的情况下推荐传入,以方便日志分析
|
|
2085
2312
|
* @listtip - 在已知视频编码方式的情况下推荐传入,以便日志分析。
|
|
2086
2313
|
* - 在 `useSoftDecoding` 参数为 `true`(开启 H.265 兼容降级模式)时,建议传入,可提升软解初始效率。
|
|
2087
2314
|
*/
|
|
@@ -2089,7 +2316,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2089
2316
|
/** {zh}
|
|
2090
2317
|
* @brief 点播服务所在区域,影响服务接口和日志上报
|
|
2091
2318
|
* @default cn
|
|
2092
|
-
* @
|
|
2319
|
+
* @notes 火山引擎海外区域播放时请填写'mya'
|
|
2093
2320
|
* @hidden
|
|
2094
2321
|
*/
|
|
2095
2322
|
/** {en}
|
|
@@ -2101,12 +2328,12 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2101
2328
|
/** {zh}
|
|
2102
2329
|
* @brief 插件加载的路径。您可从 [SDK 离线包](https://www.volcengine.com/docs/4/67077#%E5%BC%95%E5%85%A5%E4%BE%9D%E8%B5%96)中获取插件,然后将插件文件放置于应用服务器上,再在初始化播放器时指定插件地址。
|
|
2103
2330
|
* @default https://lf-unpkg.volccdn.com/obj/vcloudfe/sdk/@volcengine/veplayer/${version}/plugin
|
|
2104
|
-
* @
|
|
2331
|
+
* @notes 可将插件文件夹置于业务方服务器上,指定插件的地址即可
|
|
2105
2332
|
*/
|
|
2106
2333
|
/** {en}
|
|
2107
2334
|
* @brief plug loading public path, used to specify the loading path of the plug-in, or the local file service to load the plug-in
|
|
2108
2335
|
* @default https://sf-unpkg.bytepluscdn.com/obj/byteplusfe-sg/sdk/@byteplus/veplayer/${version}/plugin
|
|
2109
|
-
* @
|
|
2336
|
+
* @notes can place the plug-in folder on the business server and specify the address of the plug-in.
|
|
2110
2337
|
*/
|
|
2111
2338
|
pluginPublicPath?: string;
|
|
2112
2339
|
/**
|
|
@@ -2223,7 +2450,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2223
2450
|
enableMenu?: boolean;
|
|
2224
2451
|
/** {zh}
|
|
2225
2452
|
* @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生`video 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
|
|
2226
|
-
* @
|
|
2453
|
+
* @notes 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
2227
2454
|
*/
|
|
2228
2455
|
enableHlsMSE?: boolean;
|
|
2229
2456
|
/** {zh}
|
|
@@ -2243,6 +2470,11 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2243
2470
|
* @default -
|
|
2244
2471
|
*/
|
|
2245
2472
|
playList?: Stream[];
|
|
2473
|
+
/** {zh}
|
|
2474
|
+
* @brief 只传playList时,用于指定默认清晰度
|
|
2475
|
+
* @default playList第一项
|
|
2476
|
+
*/
|
|
2477
|
+
defaultDefinition?: string;
|
|
2246
2478
|
/** {zh}
|
|
2247
2479
|
* @brief 插件,可自行选择安装的插件,支持{@link https://h5player.bytedance.com/plugins/ 西瓜播放器插件}。
|
|
2248
2480
|
* @default -
|
|
@@ -2286,7 +2518,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2286
2518
|
* })
|
|
2287
2519
|
* ```
|
|
2288
2520
|
* @default -
|
|
2289
|
-
* @
|
|
2521
|
+
* @notes 插件可以从{@link https://www.volcengine.com/docs/4/67077 集成SDK} 章节中下载SDK离线包获取
|
|
2290
2522
|
*/
|
|
2291
2523
|
umdUrlMap?: Record<string, string>;
|
|
2292
2524
|
/**
|
|
@@ -2370,7 +2602,6 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2370
2602
|
DanmuPlugin?: IDanmuConfig | boolean;
|
|
2371
2603
|
/** {zh}
|
|
2372
2604
|
* @brief 清晰度自动降级配置
|
|
2373
|
-
* @hidden
|
|
2374
2605
|
* @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
|
|
2375
2606
|
*/
|
|
2376
2607
|
DefinitionDemotePlugin?: IDefinitionDemotePlugin;
|
|
@@ -2431,6 +2662,16 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2431
2662
|
* @brief 播放列表配置。
|
|
2432
2663
|
*/
|
|
2433
2664
|
playListPlugin?: IPlayListConfig;
|
|
2665
|
+
/** {zh}
|
|
2666
|
+
* @brief 动态水印配置
|
|
2667
|
+
* @default -
|
|
2668
|
+
*/
|
|
2669
|
+
dynamicwatermark?: IWatermarkConfig;
|
|
2670
|
+
/** {zh}
|
|
2671
|
+
* @brief 进度条预览缩略图配置
|
|
2672
|
+
* @default -
|
|
2673
|
+
*/
|
|
2674
|
+
thumbnail?: IThumbnailConfig;
|
|
2434
2675
|
}
|
|
2435
2676
|
/** {zh}
|
|
2436
2677
|
* @hidden
|
|
@@ -2609,6 +2850,18 @@ export interface IPlayAuthTokenConfig {
|
|
|
2609
2850
|
* @default 1
|
|
2610
2851
|
*/
|
|
2611
2852
|
retryCount?: number;
|
|
2853
|
+
/** {zh}
|
|
2854
|
+
* @brief 清晰度自动降级开启时的自动档位,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo}返回的Definition字段
|
|
2855
|
+
* @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
|
|
2856
|
+
* @default -
|
|
2857
|
+
*/
|
|
2858
|
+
autoDemoteDefinition?: string;
|
|
2859
|
+
/** {zh}
|
|
2860
|
+
* @brief 清晰度自动降级开启时的自动档位对应的多语言文案key,即languages字段中对应语种的相应key
|
|
2861
|
+
* @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
|
|
2862
|
+
* @default -
|
|
2863
|
+
*/
|
|
2864
|
+
autoDemoteDefinitionTextKey?: string;
|
|
2612
2865
|
}
|
|
2613
2866
|
/** {zh}
|
|
2614
2867
|
* @list Options
|
|
@@ -2679,45 +2932,6 @@ export interface IAutoBitrateOptsConfig {
|
|
|
2679
2932
|
*/
|
|
2680
2933
|
module?: any;
|
|
2681
2934
|
}
|
|
2682
|
-
/** {zh}
|
|
2683
|
-
* @brief 记忆播放配置。
|
|
2684
|
-
* @kind property
|
|
2685
|
-
* @list Options
|
|
2686
|
-
* @interface IMemoryPlayConfig
|
|
2687
|
-
*/
|
|
2688
|
-
export interface IMemoryPlayConfig {
|
|
2689
|
-
/** {zh}
|
|
2690
|
-
* @brief 存储标识id
|
|
2691
|
-
* @default options.vid || options.url
|
|
2692
|
-
*
|
|
2693
|
-
* @type {number | string}
|
|
2694
|
-
* @memberof IMemoryPlayConfig
|
|
2695
|
-
*/
|
|
2696
|
-
memoryId: number | string;
|
|
2697
|
-
/** {zh}
|
|
2698
|
-
* @brief 设置时间函数
|
|
2699
|
-
* @default -
|
|
2700
|
-
*
|
|
2701
|
-
* @type {(id: number | string, time: number) => unknown}
|
|
2702
|
-
* @memberof IMemoryPlayConfig
|
|
2703
|
-
*/
|
|
2704
|
-
saveTime?: (id: number | string, time: number) => unknown;
|
|
2705
|
-
/** {zh}
|
|
2706
|
-
* @brief 获取最后一次播放时间函数
|
|
2707
|
-
* @default -
|
|
2708
|
-
*/
|
|
2709
|
-
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
|
-
}
|
|
2721
2935
|
/** {zh}
|
|
2722
2936
|
* @brief 插件按钮位置
|
|
2723
2937
|
*/
|
|
@@ -2825,7 +3039,7 @@ export interface IFullscreenConfig {
|
|
|
2825
3039
|
* - `false`:否。
|
|
2826
3040
|
* - `true`:是,即全屏后,如在竖屏状态下,播放器会把 `dom` 旋转 90 度实现横屏效果。
|
|
2827
3041
|
* @default false
|
|
2828
|
-
* @
|
|
3042
|
+
* @notes
|
|
2829
3043
|
* - 该配置优先于 `useCssFullscreen` 配置。
|
|
2830
3044
|
* - 该配置一般在移动端使用。
|
|
2831
3045
|
* @listtip - 该参数的优先级高于 `useCssFullscreen` 参数。
|
|
@@ -2850,7 +3064,7 @@ export interface IFullscreenConfig {
|
|
|
2850
3064
|
* - `false`:不显示右上角返回按钮。
|
|
2851
3065
|
* - `true`:显示右上角返回按钮。
|
|
2852
3066
|
* @default false
|
|
2853
|
-
* @
|
|
3067
|
+
* @notes 该配置一般在移动端开启
|
|
2854
3068
|
* @listtip 此参数一般用于移动端。
|
|
2855
3069
|
*/
|
|
2856
3070
|
needBackIcon?: boolean;
|
|
@@ -2929,6 +3143,58 @@ export interface IPoster {
|
|
|
2929
3143
|
*/
|
|
2930
3144
|
fillMode?: "fixWidth" | "fixHeight" | "cover" | "contain";
|
|
2931
3145
|
}
|
|
3146
|
+
/** {zh}
|
|
3147
|
+
* @list Options
|
|
3148
|
+
* @brief 进度条预览缩略图配置
|
|
3149
|
+
* @kind property
|
|
3150
|
+
*/
|
|
3151
|
+
export interface IThumbnailConfig {
|
|
3152
|
+
/** {zh}
|
|
3153
|
+
* @brief 雪碧图截图地址数组
|
|
3154
|
+
* @default -
|
|
3155
|
+
*/
|
|
3156
|
+
urls: Array<string>;
|
|
3157
|
+
/** {zh}
|
|
3158
|
+
* @brief 雪碧图中小图总数目
|
|
3159
|
+
* @default -
|
|
3160
|
+
*/
|
|
3161
|
+
pic_num: number;
|
|
3162
|
+
/** {zh}
|
|
3163
|
+
* @brief 雪碧图每张大图中小图列数
|
|
3164
|
+
* @default -
|
|
3165
|
+
*/
|
|
3166
|
+
col: number;
|
|
3167
|
+
/** {zh}
|
|
3168
|
+
* @brief 雪碧图每张大图中小图行数
|
|
3169
|
+
* @default -
|
|
3170
|
+
*/
|
|
3171
|
+
row: number;
|
|
3172
|
+
/** {zh}
|
|
3173
|
+
* @brief 雪碧图每张小图的高度
|
|
3174
|
+
* @default -
|
|
3175
|
+
*/
|
|
3176
|
+
height?: number;
|
|
3177
|
+
/** {zh}
|
|
3178
|
+
* @brief 雪碧图每张小图的宽度
|
|
3179
|
+
* @default -
|
|
3180
|
+
*/
|
|
3181
|
+
width?: number;
|
|
3182
|
+
/** {zh}
|
|
3183
|
+
* @brief 显示缩放比例
|
|
3184
|
+
* @default 1
|
|
3185
|
+
*/
|
|
3186
|
+
scale?: 1;
|
|
3187
|
+
/** {zh}
|
|
3188
|
+
* @brief 额外添加在dom上的class
|
|
3189
|
+
* @default -
|
|
3190
|
+
*/
|
|
3191
|
+
className?: string;
|
|
3192
|
+
/** {zh}
|
|
3193
|
+
* @brief 是否在竖屏的时候隐藏
|
|
3194
|
+
* @default false
|
|
3195
|
+
*/
|
|
3196
|
+
hidePortrait?: false;
|
|
3197
|
+
}
|
|
2932
3198
|
/**
|
|
2933
3199
|
* @brief api map
|
|
2934
3200
|
* @hidden
|
|
@@ -3012,9 +3278,14 @@ declare class PlayerData {
|
|
|
3012
3278
|
playDomainDegrade: boolean;
|
|
3013
3279
|
strategiesPlugins: any[];
|
|
3014
3280
|
strategiesPluginConfigs: any;
|
|
3281
|
+
/**
|
|
3282
|
+
* @brief direct-url播放模式时的默认清晰度
|
|
3283
|
+
* @default playList第一项
|
|
3284
|
+
*/
|
|
3285
|
+
defaultDefinition: string;
|
|
3015
3286
|
constructor(configs: IPlayerConfig);
|
|
3016
|
-
initPlayData(configs:
|
|
3017
|
-
initPlaylistAndGetCurrent(configs: IPlayerConfig):
|
|
3287
|
+
initPlayData(configs: IPlayerConfig): void;
|
|
3288
|
+
initPlaylistAndGetCurrent(configs: IPlayerConfig): Stream;
|
|
3018
3289
|
isCurrentH265(): boolean;
|
|
3019
3290
|
getCurrentByDefaultConfig(): Stream;
|
|
3020
3291
|
initCurrent(currentStreams: any): void;
|
|
@@ -3055,9 +3326,10 @@ declare class PlayerData {
|
|
|
3055
3326
|
getUrlList(condition: Condition): Stream[];
|
|
3056
3327
|
/**
|
|
3057
3328
|
* @description: 获取当期清晰的上一级清晰度或下一级清晰度
|
|
3058
|
-
* @param {boolean} isDown
|
|
3329
|
+
* @param {boolean} isDown 是否取下一级清晰度
|
|
3330
|
+
* @param {string[]} demotePriority 清晰度降级顺序
|
|
3059
3331
|
*/
|
|
3060
|
-
getNextDefinition(isDown: boolean, demotePriority:
|
|
3332
|
+
getNextDefinition(isDown: boolean, demotePriority: string[]): Stream[];
|
|
3061
3333
|
/**
|
|
3062
3334
|
* 获取api map
|
|
3063
3335
|
* @return { ApiMapConfig }
|
|
@@ -3117,7 +3389,8 @@ declare enum UmdKeys {
|
|
|
3117
3389
|
DanmuMask = "danmuMask",
|
|
3118
3390
|
StreamProbe = "streamprobe",
|
|
3119
3391
|
VeStrategy = "vestrategy",
|
|
3120
|
-
VeStrategyH265 = "vestrategy_h265"
|
|
3392
|
+
VeStrategyH265 = "vestrategy_h265",
|
|
3393
|
+
Preloader = "preloader"
|
|
3121
3394
|
}
|
|
3122
3395
|
/**
|
|
3123
3396
|
* @hidden
|
|
@@ -3131,6 +3404,7 @@ export declare type UMDMap = Record<UmdKeys, {
|
|
|
3131
3404
|
}>;
|
|
3132
3405
|
declare class umdLoader {
|
|
3133
3406
|
private static jsLoadMap;
|
|
3407
|
+
private static jsLoadPromiseMap;
|
|
3134
3408
|
umdMap: UMDMap;
|
|
3135
3409
|
backupUmdUrlMap: Record<string, string>;
|
|
3136
3410
|
failCallback: (umdName: string, err: any) => any;
|
|
@@ -3163,6 +3437,91 @@ declare class umdLoader {
|
|
|
3163
3437
|
*/
|
|
3164
3438
|
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
3165
3439
|
}
|
|
3440
|
+
export interface IPreloadConfig {
|
|
3441
|
+
preloadCacheType: 0 | 1;
|
|
3442
|
+
autoPreload: boolean;
|
|
3443
|
+
autoCheckPreload: boolean;
|
|
3444
|
+
autoCheck: {
|
|
3445
|
+
enable: boolean;
|
|
3446
|
+
interval: number;
|
|
3447
|
+
};
|
|
3448
|
+
preloadTime: number;
|
|
3449
|
+
segmentMinDuration: number;
|
|
3450
|
+
preloadMaxCacheCount: number;
|
|
3451
|
+
}
|
|
3452
|
+
export interface IPreloadConfigOptions extends IPreloadConfig {
|
|
3453
|
+
enableMp4: boolean;
|
|
3454
|
+
enableDash: boolean;
|
|
3455
|
+
enableDebugger: boolean;
|
|
3456
|
+
plugins: any[];
|
|
3457
|
+
}
|
|
3458
|
+
export interface IPreloadDataPayload {
|
|
3459
|
+
vid: string;
|
|
3460
|
+
vtype: string;
|
|
3461
|
+
codecType: string;
|
|
3462
|
+
payload: Array<{
|
|
3463
|
+
url: {
|
|
3464
|
+
src: string;
|
|
3465
|
+
}[];
|
|
3466
|
+
bitrate: number;
|
|
3467
|
+
duration: number;
|
|
3468
|
+
size: number;
|
|
3469
|
+
definition: string;
|
|
3470
|
+
}>;
|
|
3471
|
+
defaultDefinition?: string;
|
|
3472
|
+
duration?: number;
|
|
3473
|
+
mediaType?: string;
|
|
3474
|
+
bizType?: 0 | 1;
|
|
3475
|
+
}
|
|
3476
|
+
export interface IPreloadData {
|
|
3477
|
+
data: IPreloadDataPayload;
|
|
3478
|
+
order?: number;
|
|
3479
|
+
}
|
|
3480
|
+
declare class Preloader {
|
|
3481
|
+
private inst;
|
|
3482
|
+
private sdkUmdLoader;
|
|
3483
|
+
private registerPromise;
|
|
3484
|
+
constructor();
|
|
3485
|
+
static get defaultConfig(): {
|
|
3486
|
+
preloadCacheType: number;
|
|
3487
|
+
autoPreload: boolean;
|
|
3488
|
+
autoCheckPreload: boolean;
|
|
3489
|
+
autoCheck: {
|
|
3490
|
+
enable: boolean;
|
|
3491
|
+
interval: number;
|
|
3492
|
+
};
|
|
3493
|
+
preloadTime: number;
|
|
3494
|
+
isDegrade: boolean;
|
|
3495
|
+
waitingTimeOut: number;
|
|
3496
|
+
needAutoBitrate: boolean;
|
|
3497
|
+
startPreloadMinBuffer: number;
|
|
3498
|
+
startPreloadControl: boolean;
|
|
3499
|
+
maxBufferLength: number;
|
|
3500
|
+
minBufferLength: number;
|
|
3501
|
+
removeBufferLen: number;
|
|
3502
|
+
preloadMaxCacheCount: number;
|
|
3503
|
+
startPreloadMinPosTime: number;
|
|
3504
|
+
resumePlayWaterLevel: number;
|
|
3505
|
+
onProcessMinLen: number;
|
|
3506
|
+
needPreloadCheck: boolean;
|
|
3507
|
+
forceVideoPlay: boolean;
|
|
3508
|
+
segmentMinDuration: number;
|
|
3509
|
+
timerInWorker: boolean;
|
|
3510
|
+
tickInSeconds: number;
|
|
3511
|
+
fixEditListOffset: boolean;
|
|
3512
|
+
audioGroupingStrategy: number;
|
|
3513
|
+
noPreloadAddBufferLen: number;
|
|
3514
|
+
loadRangeType: string;
|
|
3515
|
+
};
|
|
3516
|
+
private initUmdLoader;
|
|
3517
|
+
private _register;
|
|
3518
|
+
register(config: Partial<IPreloadConfigOptions>): Promise<any>;
|
|
3519
|
+
addList(preloadList: IPreloadData[]): Promise<void>;
|
|
3520
|
+
updateConfig(config: Partial<IPreloadConfig>): Promise<void>;
|
|
3521
|
+
attachPlayer(player: any): Promise<void>;
|
|
3522
|
+
removeAll(): Promise<any>;
|
|
3523
|
+
removeAllPreloadTask(): Promise<any>;
|
|
3524
|
+
}
|
|
3166
3525
|
/**
|
|
3167
3526
|
* @hidden
|
|
3168
3527
|
*/
|
|
@@ -3196,7 +3555,7 @@ declare class VePlayer {
|
|
|
3196
3555
|
* @type {*}
|
|
3197
3556
|
* @memberof VePlayer
|
|
3198
3557
|
*/
|
|
3199
|
-
mountingDom:
|
|
3558
|
+
mountingDom: Element;
|
|
3200
3559
|
/** {zh}
|
|
3201
3560
|
* @hidden
|
|
3202
3561
|
*
|
|
@@ -3296,6 +3655,7 @@ declare class VePlayer {
|
|
|
3296
3655
|
* @hidden
|
|
3297
3656
|
*/
|
|
3298
3657
|
static veStrategy: typeof VeStrategy;
|
|
3658
|
+
static preloader: Preloader;
|
|
3299
3659
|
/**
|
|
3300
3660
|
* @brief SDK 版本
|
|
3301
3661
|
* @type {*}
|
|
@@ -3412,6 +3772,12 @@ declare class VePlayer {
|
|
|
3412
3772
|
* @memberof VePlayer
|
|
3413
3773
|
*/
|
|
3414
3774
|
renderPoster(): void;
|
|
3775
|
+
/**
|
|
3776
|
+
* @brief 获取西瓜的definition的配置,用于在创建player或者在playNext()时传入definition,
|
|
3777
|
+
* 以用来将playerData的当前清晰度列表数据与player.config.definition的数据进行同步
|
|
3778
|
+
* @private
|
|
3779
|
+
*/
|
|
3780
|
+
private getDefinitionConfig;
|
|
3415
3781
|
/** {zh}
|
|
3416
3782
|
* @hidden
|
|
3417
3783
|
*
|
|
@@ -3651,6 +4017,21 @@ declare class VePlayer {
|
|
|
3651
4017
|
* @memberof VePlayer
|
|
3652
4018
|
*/
|
|
3653
4019
|
setH265SoftPlayList(): void;
|
|
4020
|
+
/** {zh}
|
|
4021
|
+
* @brief 切换清晰度
|
|
4022
|
+
* @param definition 清晰度,如果在vid播放中有映射的清晰度,则对应映射之后的清晰度
|
|
4023
|
+
* @notes 如果传的清晰度不存在,则不处理。可以通过api: getDefinitionList()获取当前的清晰度列表
|
|
4024
|
+
*/
|
|
4025
|
+
changeDefinition(definition: string): void;
|
|
4026
|
+
/** {zh}
|
|
4027
|
+
* @brief 获取当前的清晰度列表,列表项中包含definition、url和selected,selected为true时表示当前被选中的清晰度
|
|
4028
|
+
*/
|
|
4029
|
+
getDefinitionList(): Array<{
|
|
4030
|
+
definition: string;
|
|
4031
|
+
url: IUrl;
|
|
4032
|
+
selected: boolean;
|
|
4033
|
+
[propName: string]: any;
|
|
4034
|
+
}>;
|
|
3654
4035
|
/** {zh}
|
|
3655
4036
|
* @brief 初始化多语言词典
|
|
3656
4037
|
*
|
|
@@ -4094,73 +4475,6 @@ export declare class Subtitle extends Plugin {
|
|
|
4094
4475
|
destroy(): void;
|
|
4095
4476
|
render(): string;
|
|
4096
4477
|
}
|
|
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
|
-
export declare class DefinitionDemotePlugin extends Plugin {
|
|
4128
|
-
static get pluginName(): string;
|
|
4129
|
-
waitings: number[];
|
|
4130
|
-
timer: any;
|
|
4131
|
-
longWaitingEmitTime: number;
|
|
4132
|
-
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
|
-
};
|
|
4142
|
-
constructor(args: any);
|
|
4143
|
-
registerLanguageTexts(): {
|
|
4144
|
-
definition_demote_txt: {
|
|
4145
|
-
jp: string;
|
|
4146
|
-
en: string;
|
|
4147
|
-
zh: string;
|
|
4148
|
-
"zh-hk": string;
|
|
4149
|
-
};
|
|
4150
|
-
};
|
|
4151
|
-
afterCreate(): void;
|
|
4152
|
-
bindCtx(): void;
|
|
4153
|
-
bindEvents(): void;
|
|
4154
|
-
_waiting(): void;
|
|
4155
|
-
_count(): void;
|
|
4156
|
-
_time(): void;
|
|
4157
|
-
_clearTime(): void;
|
|
4158
|
-
clearState(): void;
|
|
4159
|
-
demote(): void;
|
|
4160
|
-
changeUrl(url: any): void;
|
|
4161
|
-
showToast(definition: any): void;
|
|
4162
|
-
destroy(): void;
|
|
4163
|
-
}
|
|
4164
4478
|
export declare class TimeShiftPlugin extends Plugin {
|
|
4165
4479
|
static get pluginName(): string;
|
|
4166
4480
|
static get defaultConfig(): {
|
|
@@ -4273,54 +4587,6 @@ export declare class MirrorPlugin extends Plugin {
|
|
|
4273
4587
|
destroy(): void;
|
|
4274
4588
|
render(): string;
|
|
4275
4589
|
}
|
|
4276
|
-
declare class ToastPlugin extends Plugin {
|
|
4277
|
-
static get pluginName(): string;
|
|
4278
|
-
static get defaultConfig(): {
|
|
4279
|
-
index: number;
|
|
4280
|
-
};
|
|
4281
|
-
constructor(args: any);
|
|
4282
|
-
private toastNumber;
|
|
4283
|
-
private toastMaps;
|
|
4284
|
-
beforePlayerInit(): void;
|
|
4285
|
-
afterPlayerInit(): void;
|
|
4286
|
-
afterCreate(): void;
|
|
4287
|
-
destroy(): void;
|
|
4288
|
-
add(content: string | HTMLElement, duration?: number, isNeedCloseBt?: boolean): number;
|
|
4289
|
-
remove(id: number): void;
|
|
4290
|
-
renderToast(content: string | HTMLElement, isNeedCloseBt: any, id: any): HTMLElement;
|
|
4291
|
-
render(): string;
|
|
4292
|
-
}
|
|
4293
|
-
export declare class MemoryPlay extends Plugin {
|
|
4294
|
-
static get pluginName(): string;
|
|
4295
|
-
static get defaultConfig(): IMemoryPlayConfig;
|
|
4296
|
-
startTime: number;
|
|
4297
|
-
saveTimeFun: (id: number | string, time: number) => unknown;
|
|
4298
|
-
getTimeFun: (id: number | string) => number | Promise<number>;
|
|
4299
|
-
memoryId: number | string;
|
|
4300
|
-
canJump: boolean;
|
|
4301
|
-
constructor(args: any);
|
|
4302
|
-
registerLanguageTexts(): {
|
|
4303
|
-
preText: {
|
|
4304
|
-
jp: string;
|
|
4305
|
-
en: string;
|
|
4306
|
-
zh: string;
|
|
4307
|
-
"zh-hk": string;
|
|
4308
|
-
};
|
|
4309
|
-
};
|
|
4310
|
-
children(): {
|
|
4311
|
-
toast: typeof ToastPlugin;
|
|
4312
|
-
};
|
|
4313
|
-
afterCreate(): void;
|
|
4314
|
-
beforePlayerInit(): Promise<void>;
|
|
4315
|
-
getTime(): Promise<void>;
|
|
4316
|
-
saveTime(): void;
|
|
4317
|
-
visibilitychangeCallback(): void;
|
|
4318
|
-
setSave(): void;
|
|
4319
|
-
showToast(): void;
|
|
4320
|
-
saveTimeByStorage(memoryId: string, time: number): void;
|
|
4321
|
-
getTimeByStorage(memoryId: string): string;
|
|
4322
|
-
destroy(): void;
|
|
4323
|
-
}
|
|
4324
4590
|
export declare type InfoItem = {
|
|
4325
4591
|
key: string;
|
|
4326
4592
|
label: string;
|