@byteplus/veplayer 1.9.0-rc.1 → 1.9.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/README.md +2 -2
- package/index.d.ts +634 -479
- package/index.min.css +1 -1
- package/index.min.js +2 -2
- package/package.json +5 -1
- package/plugin/DashAbralgo.js +2 -0
- package/plugin/hls.js +1 -1
- package/plugin/hlsEncrypt.js +2 -2
- package/plugin/mp4Encrypt.js +2 -2
- package/plugin/preloader.js +0 -2
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 插件按钮位置
|
|
@@ -778,55 +779,110 @@ export interface ITextItem {
|
|
|
778
779
|
index?: number;
|
|
779
780
|
}
|
|
780
781
|
/**
|
|
781
|
-
* @brief
|
|
782
|
+
* @brief 清晰度降级配置。
|
|
782
783
|
* @list Options
|
|
783
|
-
* @
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
* @
|
|
784
|
+
* @kind property
|
|
785
|
+
*/
|
|
786
|
+
/** {en}
|
|
787
|
+
* @brief 清晰度降级配置
|
|
787
788
|
*/
|
|
788
789
|
export interface IDefinitionDemotePlugin {
|
|
789
790
|
/**
|
|
790
|
-
*
|
|
791
|
-
*
|
|
791
|
+
* @brief 是否开启自动降级,取值如下:
|
|
792
|
+
* - `false`:关闭自动降级。
|
|
793
|
+
* - `true`:开启自动降级。
|
|
794
|
+
* @default true
|
|
792
795
|
*
|
|
793
|
-
* @type {number}
|
|
794
|
-
* @memberof IDefinitionDemotePlugin
|
|
795
796
|
*/
|
|
796
|
-
|
|
797
|
+
/** {en}
|
|
798
|
+
* @brief Is automatic downgrade enabled? The values are as follows:
|
|
799
|
+
* - `false`: automatic downgrade is disabled.
|
|
800
|
+
* - `true`: automatic downgrade is enabled.
|
|
801
|
+
*/
|
|
802
|
+
isNeedAutoDemote?: boolean;
|
|
797
803
|
/**
|
|
798
|
-
*
|
|
799
|
-
*
|
|
804
|
+
* @brief 清晰度降级顺序。数组中的元素需与 `playList` 中的 `definition` 相对应。
|
|
805
|
+
* @default []
|
|
800
806
|
*
|
|
801
|
-
* @type {
|
|
807
|
+
* @type {string[]}
|
|
802
808
|
* @memberof IDefinitionDemotePlugin
|
|
803
809
|
*/
|
|
804
|
-
|
|
810
|
+
/** {en}
|
|
811
|
+
*/
|
|
812
|
+
demotePriority: string[];
|
|
805
813
|
/**
|
|
806
|
-
*
|
|
807
|
-
*
|
|
814
|
+
* @brief 长时间卡顿的时间阈值,单位为毫秒。卡顿时长超过该值,即视为长时间卡顿。发生长时间卡顿时,SDK 会触发 `LONG_WAITING` 事件。
|
|
815
|
+
* @default 5000
|
|
808
816
|
*
|
|
809
|
-
|
|
810
|
-
|
|
817
|
+
*/
|
|
818
|
+
/** {en}
|
|
819
|
+
* @brief 长时间卡顿的时间阈值,单位为ms。卡顿超过该值,即为长时间卡顿
|
|
811
820
|
*/
|
|
812
821
|
longWaitingTime?: number;
|
|
813
822
|
/**
|
|
814
|
-
*
|
|
815
|
-
*
|
|
823
|
+
* @brief 频繁卡顿的次数阈值。`oftenWaitingTime` 内卡顿次数大于或等于阈值时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
|
|
824
|
+
* @default 3
|
|
816
825
|
*
|
|
817
|
-
* @type {boolean}
|
|
818
|
-
* @memberof IDefinitionDemotePlugin
|
|
819
826
|
*/
|
|
820
|
-
|
|
827
|
+
/** {en}
|
|
828
|
+
* @brief 频繁卡顿的次数阈值。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
829
|
+
*/
|
|
830
|
+
oftenWaitingCount?: number;
|
|
821
831
|
/**
|
|
822
|
-
*
|
|
823
|
-
*
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
* @
|
|
827
|
-
* @memberof IDefinitionDemotePlugin
|
|
832
|
+
* @brief 频繁卡顿监测的时间范围。`oftenWaitingTime` 内卡顿次数大于或等于 `oftenWaitingCount` 时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
|
|
833
|
+
* @default 5000
|
|
834
|
+
*/
|
|
835
|
+
/** {en}
|
|
836
|
+
* @brief 频繁卡顿的时间范围。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
828
837
|
*/
|
|
829
|
-
|
|
838
|
+
oftenWaitingTime?: number;
|
|
839
|
+
/**
|
|
840
|
+
* @brief 卡顿时是否显示清晰度降级提示 toast。
|
|
841
|
+
* @default true
|
|
842
|
+
*/
|
|
843
|
+
/** {en}
|
|
844
|
+
* @brief 卡顿时是否显示建议切换清晰度的提醒tips
|
|
845
|
+
*/
|
|
846
|
+
isNeedShowTips?: boolean;
|
|
847
|
+
/**
|
|
848
|
+
* @brief 清晰度降级提示 toast 的显示时长,单位为毫秒。
|
|
849
|
+
* @default 3000
|
|
850
|
+
*/
|
|
851
|
+
/** {en}
|
|
852
|
+
* @brief 提醒降级的toast显示持续时间,单位ms
|
|
853
|
+
*/
|
|
854
|
+
toastShowTime?: number;
|
|
855
|
+
}
|
|
856
|
+
export declare class DefinitionDemotePlugin extends Plugin {
|
|
857
|
+
static get pluginName(): string;
|
|
858
|
+
waitings: number[];
|
|
859
|
+
timer: ReturnType<typeof setTimeout>;
|
|
860
|
+
toastId: number;
|
|
861
|
+
longWaitingEmitTime: number;
|
|
862
|
+
waitingStartTime: number;
|
|
863
|
+
playerData: PlayerData;
|
|
864
|
+
static get defaultConfig(): IDefinitionDemotePlugin;
|
|
865
|
+
constructor(args: any);
|
|
866
|
+
registerLanguageTexts(): {
|
|
867
|
+
definition_demote_txt: {
|
|
868
|
+
jp: string;
|
|
869
|
+
en: string;
|
|
870
|
+
zh: string;
|
|
871
|
+
"zh-hk": string;
|
|
872
|
+
};
|
|
873
|
+
};
|
|
874
|
+
afterCreate(): void;
|
|
875
|
+
bindCtx(): void;
|
|
876
|
+
bindEvents(): void;
|
|
877
|
+
_waiting(): void;
|
|
878
|
+
_count(): void;
|
|
879
|
+
_time(): void;
|
|
880
|
+
_clearTime(): void;
|
|
881
|
+
clearState(): void;
|
|
882
|
+
demote(): void;
|
|
883
|
+
changeUrl(url: Url): void;
|
|
884
|
+
showToast(definition: Stream): void;
|
|
885
|
+
destroy(): void;
|
|
830
886
|
}
|
|
831
887
|
/**
|
|
832
888
|
* @brief DASH 播放配置。
|
|
@@ -840,7 +896,7 @@ export interface IDashPluginConfig {
|
|
|
840
896
|
/**
|
|
841
897
|
* @brief 视频 ID。
|
|
842
898
|
* @default -
|
|
843
|
-
* @
|
|
899
|
+
* @notes 播放加密视频时必选
|
|
844
900
|
*/
|
|
845
901
|
/** {en}
|
|
846
902
|
* @brief 视频vid
|
|
@@ -1011,7 +1067,7 @@ export interface IVodLogOptsConfig {
|
|
|
1011
1067
|
/**
|
|
1012
1068
|
* @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
1069
|
* 用户 ID 对应于单点追查功能的查询条件中的设备 ID 维度。如不设置用户 ID,VePlayer 将根据用户浏览器随机生成一个值,该值会在浏览器端缓存。
|
|
1014
|
-
* @
|
|
1070
|
+
* @notes 强烈建议您使用与业务相关的用户 ID,以便在发生播放错误时通过{@link https://console.volcengine.com/vod/region:vod+cn-north-1/quality_control/SingleTracing/?Tab=play 点播控制台 > 质量平台 > 单点追查}功能排查故障。
|
|
1015
1071
|
* @default -
|
|
1016
1072
|
*/
|
|
1017
1073
|
line_user_id: string | number;
|
|
@@ -1023,7 +1079,7 @@ export interface IVodLogOptsConfig {
|
|
|
1023
1079
|
vtype?: "MP4" | "HLS" | "DASH" | "FLV";
|
|
1024
1080
|
/**
|
|
1025
1081
|
* @brief 业务标签。对应于质量平台上的业务类型维度,其作用是区分业务中的不同场景,以便进行多维度分析。举例来说,假设您的应用中包含短视频和长视频两个场景,则可分别将 `tag` 设为 `short` 和 `long`。这样一来,您就能够在{@link https://www.volcengine.com/docs/4/120175 质量平台}上通过业务标签维度查询或过滤不同场景的数据。
|
|
1026
|
-
* @
|
|
1082
|
+
* @notes 如需自定义配置 tag 值在点播控制台上的展示文案,请联系{@link https://www.volcengine.com/docs/4/108992#%E5%94%AE%E5%90%8E%E6%94%AF%E6%8C%81 技术支持}
|
|
1027
1083
|
* @default 普通视频
|
|
1028
1084
|
*/
|
|
1029
1085
|
tag?: string;
|
|
@@ -1351,6 +1407,11 @@ export interface IAutoplayPluginConfig {
|
|
|
1351
1407
|
* @brief 开启任意点击/触摸的用户行为触发自动播放
|
|
1352
1408
|
*/
|
|
1353
1409
|
enableUserActionAutoplay?: boolean;
|
|
1410
|
+
/**
|
|
1411
|
+
* @brief 静音自动播放时,是否在播放器容器上居中展示取消静音的大按钮
|
|
1412
|
+
* @default true
|
|
1413
|
+
*/
|
|
1414
|
+
showUnmuteBtn?: boolean;
|
|
1354
1415
|
}
|
|
1355
1416
|
declare class PlayList {
|
|
1356
1417
|
private config;
|
|
@@ -1401,7 +1462,7 @@ export declare const enum TOGGLE_MODES {
|
|
|
1401
1462
|
*/
|
|
1402
1463
|
export interface IPlayListItem {
|
|
1403
1464
|
/**
|
|
1404
|
-
* @
|
|
1465
|
+
* @notes `playAuthToken` 为空时,此参数必传。
|
|
1405
1466
|
* @default -
|
|
1406
1467
|
* @listtip `playAuthToken` 为空时,此参数必传。
|
|
1407
1468
|
* @brief 视频地址。
|
|
@@ -1410,7 +1471,7 @@ export interface IPlayListItem {
|
|
|
1410
1471
|
*/
|
|
1411
1472
|
url?: string;
|
|
1412
1473
|
/**
|
|
1413
|
-
* @
|
|
1474
|
+
* @notes `url` 为空时,此参数必传。
|
|
1414
1475
|
* @default -
|
|
1415
1476
|
* @listtip `url` 为空时,此参数必传。
|
|
1416
1477
|
* @brief 播放临时安全凭证,由业务的 AppServer 签发。
|
|
@@ -1483,7 +1544,7 @@ export interface IPlayListConfig {
|
|
|
1483
1544
|
* - `rootRight`:播放器根节点右侧
|
|
1484
1545
|
* - `rootTop`:播放器根节点顶部
|
|
1485
1546
|
* - `root`:播放器根节点
|
|
1486
|
-
* @
|
|
1547
|
+
* @notes 此参数同时影响“打开/关闭播放列表”和“播放下一个”两个按钮的位置。
|
|
1487
1548
|
* @default controlsLeft
|
|
1488
1549
|
*/
|
|
1489
1550
|
/** {en}
|
|
@@ -1631,7 +1692,217 @@ export declare class PlayListPlugin extends Plugin {
|
|
|
1631
1692
|
get disable(): boolean;
|
|
1632
1693
|
render(): string;
|
|
1633
1694
|
}
|
|
1634
|
-
|
|
1695
|
+
/**
|
|
1696
|
+
* @brief 动态水印配置。
|
|
1697
|
+
* @list Options
|
|
1698
|
+
* @kind property
|
|
1699
|
+
*/
|
|
1700
|
+
/** {en}
|
|
1701
|
+
* @brief watermark config
|
|
1702
|
+
*/
|
|
1703
|
+
export interface IWatermarkConfig {
|
|
1704
|
+
/**
|
|
1705
|
+
* @brief 是否开启动态水印,取值如下:<br/>
|
|
1706
|
+
* - `true`:开启动态水印
|
|
1707
|
+
* - `false`:关闭动态水印
|
|
1708
|
+
* @default false
|
|
1709
|
+
*/
|
|
1710
|
+
/** {en}
|
|
1711
|
+
* @brief Is dynamic watermark enabled? The value is as follows:<br/>
|
|
1712
|
+
* - `true`: Enable dynamic watermark
|
|
1713
|
+
* - `false`: Disable dynamic watermark
|
|
1714
|
+
*/
|
|
1715
|
+
enable: boolean;
|
|
1716
|
+
/**
|
|
1717
|
+
* @brief 水印文案。
|
|
1718
|
+
* @default -
|
|
1719
|
+
*/
|
|
1720
|
+
/** {en}
|
|
1721
|
+
* @brief 水印文案内容
|
|
1722
|
+
*/
|
|
1723
|
+
content: string;
|
|
1724
|
+
/**
|
|
1725
|
+
* @brief 水印展示形式,取值如下:<br/>
|
|
1726
|
+
* - `0`:固定位置
|
|
1727
|
+
* - `1`:全屏滚动
|
|
1728
|
+
* - `2`:随机闪烁
|
|
1729
|
+
* @default 1
|
|
1730
|
+
*/
|
|
1731
|
+
/** {en}
|
|
1732
|
+
* @brief 水印展示形式
|
|
1733
|
+
* - 0: 固定位置
|
|
1734
|
+
* - 1: 全屏滚动
|
|
1735
|
+
* - 2: 随机闪烁
|
|
1736
|
+
*/
|
|
1737
|
+
displayType?: 0 | 1 | 2;
|
|
1738
|
+
/**
|
|
1739
|
+
* @brief 水印字体大小。`number`类型时单位为 px,`string` 类型时需要携带单位。
|
|
1740
|
+
* @default 12
|
|
1741
|
+
*/
|
|
1742
|
+
/** {en}
|
|
1743
|
+
* @brief 水印字体大小,number类型时单位为px,string类型需要携带单位
|
|
1744
|
+
*/
|
|
1745
|
+
fontSize?: number | string;
|
|
1746
|
+
/**
|
|
1747
|
+
* @brief 水印字体颜色。
|
|
1748
|
+
* @brief 水印字体颜色。
|
|
1749
|
+
*/
|
|
1750
|
+
/** {en}
|
|
1751
|
+
* @brief 水印字体颜色
|
|
1752
|
+
*/
|
|
1753
|
+
fontColor?: string;
|
|
1754
|
+
/**
|
|
1755
|
+
* @brief 水印不透明度。取值范围:\[0~1\]。
|
|
1756
|
+
* @default 0.3
|
|
1757
|
+
*/
|
|
1758
|
+
/** {en}
|
|
1759
|
+
* @brief 不透明度
|
|
1760
|
+
*/
|
|
1761
|
+
opacity?: number;
|
|
1762
|
+
/**
|
|
1763
|
+
* @brief 水印闪烁速度,取值如下:<br/>
|
|
1764
|
+
* - `MODERATE`:适中
|
|
1765
|
+
* - `FAST`:较快
|
|
1766
|
+
* - `SLOW`:较慢
|
|
1767
|
+
* @default MODERATE
|
|
1768
|
+
*/
|
|
1769
|
+
/** {en}
|
|
1770
|
+
* @default MODERATE
|
|
1771
|
+
* @brief 水印闪烁速度
|
|
1772
|
+
*/
|
|
1773
|
+
tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
|
|
1774
|
+
/**
|
|
1775
|
+
* @brief 水印字体类型
|
|
1776
|
+
* @default -
|
|
1777
|
+
*/
|
|
1778
|
+
fontFamily?: string;
|
|
1779
|
+
/**
|
|
1780
|
+
* @brief 水印相对于播放容器顶部的距离,单位为 px
|
|
1781
|
+
* @default 0
|
|
1782
|
+
*/
|
|
1783
|
+
top?: number;
|
|
1784
|
+
/**
|
|
1785
|
+
* @brief 水印相对于播放容器左侧的距离,单位为 px。
|
|
1786
|
+
* @default 0
|
|
1787
|
+
*/
|
|
1788
|
+
left?: number;
|
|
1789
|
+
/**
|
|
1790
|
+
* @brief 水印相对于播放容器底部的距离,单位为 px。
|
|
1791
|
+
* @default -
|
|
1792
|
+
*/
|
|
1793
|
+
bottom?: number;
|
|
1794
|
+
/**
|
|
1795
|
+
* @brief 水印相对于播放容器右侧的距离,单位为 px。
|
|
1796
|
+
* @default -
|
|
1797
|
+
*/
|
|
1798
|
+
right?: number;
|
|
1799
|
+
}
|
|
1800
|
+
export declare class DynamicWatermarkPlugin extends Plugin {
|
|
1801
|
+
private wm;
|
|
1802
|
+
static get pluginName(): string;
|
|
1803
|
+
static get defaultConfig(): IWatermarkConfig & {
|
|
1804
|
+
position: string;
|
|
1805
|
+
};
|
|
1806
|
+
constructor(props: any);
|
|
1807
|
+
afterCreate(): void;
|
|
1808
|
+
start(): void;
|
|
1809
|
+
pause(): void;
|
|
1810
|
+
resume(): void;
|
|
1811
|
+
resize(): void;
|
|
1812
|
+
_initWatermark(): void;
|
|
1813
|
+
destroy(): void;
|
|
1814
|
+
render(): string | HTMLElement;
|
|
1815
|
+
}
|
|
1816
|
+
declare class ToastPlugin extends Plugin {
|
|
1817
|
+
static get pluginName(): string;
|
|
1818
|
+
static get defaultConfig(): {
|
|
1819
|
+
index: number;
|
|
1820
|
+
};
|
|
1821
|
+
constructor(args: any);
|
|
1822
|
+
private toastNumber;
|
|
1823
|
+
private toastMaps;
|
|
1824
|
+
beforePlayerInit(): void;
|
|
1825
|
+
afterPlayerInit(): void;
|
|
1826
|
+
afterCreate(): void;
|
|
1827
|
+
destroy(): void;
|
|
1828
|
+
add(content: string | HTMLElement, duration?: number, isNeedCloseBt?: boolean): number;
|
|
1829
|
+
remove(id: number): void;
|
|
1830
|
+
renderToast(content: string | HTMLElement, isNeedCloseBt: any, id: any): HTMLElement;
|
|
1831
|
+
render(): string;
|
|
1832
|
+
}
|
|
1833
|
+
/** {zh}
|
|
1834
|
+
* @brief 记忆播放配置。
|
|
1835
|
+
* @kind property
|
|
1836
|
+
* @list Options
|
|
1837
|
+
* @interface IMemoryPlayConfig
|
|
1838
|
+
*/
|
|
1839
|
+
export interface IMemoryPlayConfig {
|
|
1840
|
+
/** {zh}
|
|
1841
|
+
* @brief 存储标识id
|
|
1842
|
+
* @default options.vid || options.url
|
|
1843
|
+
* @type {number | string}
|
|
1844
|
+
* @memberof IMemoryPlayConfig
|
|
1845
|
+
*/
|
|
1846
|
+
memoryId: number | string;
|
|
1847
|
+
/** {zh}
|
|
1848
|
+
* @brief 设置时间函数
|
|
1849
|
+
* @default -
|
|
1850
|
+
* @param id
|
|
1851
|
+
* @param time
|
|
1852
|
+
* @type {(id: number | string, time: number) => unknown}
|
|
1853
|
+
* @memberof IMemoryPlayConfig
|
|
1854
|
+
*/
|
|
1855
|
+
saveTime?: (id: number | string, time: number) => unknown;
|
|
1856
|
+
/** {zh}
|
|
1857
|
+
* @brief 获取最后一次播放时间函数
|
|
1858
|
+
* @param id
|
|
1859
|
+
* @default -
|
|
1860
|
+
*/
|
|
1861
|
+
getTime?: (id: number | string) => number | Promise<number>;
|
|
1862
|
+
/** {zh}
|
|
1863
|
+
* @brief 判断播放是否已开始的最小时间阈值。如果播放时长短于此阈值,则不算作已开始播放,存储的时间进度为 0。
|
|
1864
|
+
* @default 1
|
|
1865
|
+
*/
|
|
1866
|
+
minStartTime?: number;
|
|
1867
|
+
/** {zh}
|
|
1868
|
+
* @brief 判断播放是否已结束的最小时间阈值,即距离结束还剩余的时间不足此阈值时,即视为播放已结束。播放结束时,不再存储时间进度,并将之前的进度清零。
|
|
1869
|
+
* @default 1
|
|
1870
|
+
*/
|
|
1871
|
+
minEndTime?: number;
|
|
1872
|
+
}
|
|
1873
|
+
export declare class MemoryPlay extends Plugin {
|
|
1874
|
+
private curTime;
|
|
1875
|
+
static get pluginName(): string;
|
|
1876
|
+
static get defaultConfig(): IMemoryPlayConfig;
|
|
1877
|
+
startTime: number;
|
|
1878
|
+
saveTimeFun: (id: number | string, time: number) => unknown;
|
|
1879
|
+
getTimeFun: (id: number | string) => number | Promise<number>;
|
|
1880
|
+
memoryId: number | string;
|
|
1881
|
+
shouldShowToast: boolean;
|
|
1882
|
+
constructor(args: any);
|
|
1883
|
+
registerLanguageTexts(): {
|
|
1884
|
+
preText: {
|
|
1885
|
+
jp: string;
|
|
1886
|
+
en: string;
|
|
1887
|
+
zh: string;
|
|
1888
|
+
"zh-hk": string;
|
|
1889
|
+
};
|
|
1890
|
+
};
|
|
1891
|
+
children(): {
|
|
1892
|
+
toast: typeof ToastPlugin;
|
|
1893
|
+
};
|
|
1894
|
+
afterCreate(): void;
|
|
1895
|
+
beforePlayerInit(): Promise<void>;
|
|
1896
|
+
getTime(): Promise<void>;
|
|
1897
|
+
saveTime(): void;
|
|
1898
|
+
visibilitychangeCallback(): void;
|
|
1899
|
+
setSave(): void;
|
|
1900
|
+
showToast(): void;
|
|
1901
|
+
saveTimeByStorage(memoryId: string, time: number): void;
|
|
1902
|
+
getTimeByStorage(memoryId: string): string | 0;
|
|
1903
|
+
destroy(): void;
|
|
1904
|
+
}
|
|
1905
|
+
export interface IPlayInfoListItem {
|
|
1635
1906
|
BackupPlayUrl: string;
|
|
1636
1907
|
BackupUrlExpire: string;
|
|
1637
1908
|
BarrageMaskOffset: string;
|
|
@@ -1813,7 +2084,7 @@ export interface IMusicConfig {
|
|
|
1813
2084
|
* @export
|
|
1814
2085
|
* @interface Stream
|
|
1815
2086
|
*/
|
|
1816
|
-
export interface Stream extends Partial<
|
|
2087
|
+
export interface Stream extends Partial<IPlayInfoListItem> {
|
|
1817
2088
|
/** {zh}
|
|
1818
2089
|
* @type {('rtm' | 'flv' | 'mp4' | 'hls')}
|
|
1819
2090
|
* @memberof IPlayerConfig
|
|
@@ -1826,17 +2097,24 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1826
2097
|
streamType?: string;
|
|
1827
2098
|
/** {zh}
|
|
1828
2099
|
* @brief 播放地址
|
|
1829
|
-
*
|
|
1830
|
-
* @type {
|
|
2100
|
+
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
2101
|
+
* @type {Url}
|
|
1831
2102
|
* @memberof IPlayerConfig
|
|
1832
2103
|
*/
|
|
1833
|
-
url:
|
|
2104
|
+
url: Url;
|
|
1834
2105
|
/** {zh}
|
|
1835
2106
|
* @type {string}
|
|
1836
2107
|
* @memberof Stream
|
|
1837
2108
|
* @brief 清晰度 key
|
|
1838
2109
|
*/
|
|
1839
2110
|
definition?: string;
|
|
2111
|
+
/** {zh}
|
|
2112
|
+
* @type {string}
|
|
2113
|
+
* @memberof Stream
|
|
2114
|
+
* @brief 映射清晰度 key
|
|
2115
|
+
* @default -
|
|
2116
|
+
*/
|
|
2117
|
+
mapDefinition?: string;
|
|
1840
2118
|
/** {zh}
|
|
1841
2119
|
* @type {string}
|
|
1842
2120
|
* @memberof Stream
|
|
@@ -1868,6 +2146,21 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1868
2146
|
* @brief 多语言词典中对应的 key。比如 `lineTextKey: LINE_ONE`。
|
|
1869
2147
|
*/
|
|
1870
2148
|
lineTextKey?: string;
|
|
2149
|
+
/**
|
|
2150
|
+
* @brief 码流的平均码率
|
|
2151
|
+
* @default -
|
|
2152
|
+
*/
|
|
2153
|
+
bitrate?: number;
|
|
2154
|
+
/**
|
|
2155
|
+
* @brief 码流流畅播放需要的带宽
|
|
2156
|
+
* @default -
|
|
2157
|
+
*/
|
|
2158
|
+
bandwidth?: number;
|
|
2159
|
+
/**
|
|
2160
|
+
* @brief 地址的过期时间戳,单位秒(s),vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
|
|
2161
|
+
* @default -
|
|
2162
|
+
*/
|
|
2163
|
+
urlExpireTimestamp?: number;
|
|
1871
2164
|
/** {zh}
|
|
1872
2165
|
* @hidden
|
|
1873
2166
|
*/
|
|
@@ -1879,10 +2172,7 @@ export interface Stream extends Partial<IPlayInfoList> {
|
|
|
1879
2172
|
export interface Condition {
|
|
1880
2173
|
definition?: string;
|
|
1881
2174
|
lineId?: number | string;
|
|
1882
|
-
|
|
1883
|
-
* @hidden
|
|
1884
|
-
*/
|
|
1885
|
-
[propName: string]: any;
|
|
2175
|
+
url?: Url;
|
|
1886
2176
|
}
|
|
1887
2177
|
/** {zh}
|
|
1888
2178
|
* @hidden
|
|
@@ -1893,11 +2183,26 @@ export interface Current {
|
|
|
1893
2183
|
language: string;
|
|
1894
2184
|
lineId?: number | string;
|
|
1895
2185
|
codec?: CodecType;
|
|
2186
|
+
/**
|
|
2187
|
+
* @brief 地址的过期时间戳,vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
|
|
2188
|
+
* @default -
|
|
2189
|
+
*/
|
|
2190
|
+
urlExpireTimestamp?: number;
|
|
1896
2191
|
/**
|
|
1897
2192
|
* @hidden
|
|
1898
2193
|
*/
|
|
1899
2194
|
[propName: string]: any;
|
|
1900
2195
|
}
|
|
2196
|
+
/**
|
|
2197
|
+
* @detail Options
|
|
2198
|
+
* @brief url 类型,支持字符串和数组,当为数组时将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源,可设置多个格式以兼容不同的浏览器
|
|
2199
|
+
* 注意:数组形式的url不支持hls、dash等的MSE方式播放
|
|
2200
|
+
*/
|
|
2201
|
+
export declare type Url = string | Array<{
|
|
2202
|
+
src: string;
|
|
2203
|
+
type?: string;
|
|
2204
|
+
[propName: string]: any;
|
|
2205
|
+
}>;
|
|
1901
2206
|
/** {zh}
|
|
1902
2207
|
* @list Options
|
|
1903
2208
|
* @kind property
|
|
@@ -1928,9 +2233,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1928
2233
|
root?: HTMLElement;
|
|
1929
2234
|
/** {zh}
|
|
1930
2235
|
* @brief 视频播放地址。
|
|
2236
|
+
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
1931
2237
|
* @default -
|
|
1932
2238
|
*/
|
|
1933
|
-
url?:
|
|
2239
|
+
url?: Url;
|
|
1934
2240
|
/** {zh}
|
|
1935
2241
|
* @brief 视频点播服务中的视频 ID。推荐填写,以方便跟踪该视频的播放质量。您将音视频上传至视频点播服务后,可通过以下方式获取 `Vid`:
|
|
1936
2242
|
*
|
|
@@ -1975,12 +2281,12 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
1975
2281
|
* - `true`:是
|
|
1976
2282
|
* - `false`:否
|
|
1977
2283
|
* @default false
|
|
1978
|
-
* @
|
|
2284
|
+
* @notes 受限制于浏览器策略,自动播放不一定能成功,取决于浏览器环境、用户行为、浏览器配置等,详细参考自动播放 @link https://www.volcengine.com/docs/4/68693#%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE
|
|
1979
2285
|
* @listtip 受限于浏览器策略,自动播放不一定能成功,取决于浏览器环境、用户行为、浏览器配置等。详情请参考[自动播放](https://www.volcengine.com/docs/4/68693#%E8%87%AA%E5%8A%A8%E6%92%AD%E6%94%BE)。
|
|
1980
2286
|
*/
|
|
1981
2287
|
autoplay?: boolean;
|
|
1982
2288
|
/** {zh}
|
|
1983
|
-
* @brief
|
|
2289
|
+
* @brief 视频封面图配置。
|
|
1984
2290
|
*/
|
|
1985
2291
|
poster?: string | IPoster;
|
|
1986
2292
|
/** {zh}
|
|
@@ -2041,7 +2347,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2041
2347
|
* ```javascript
|
|
2042
2348
|
* { zh: { PIP: '画中画' }, en: { PIP: 'pip' }}
|
|
2043
2349
|
* ```
|
|
2044
|
-
* @
|
|
2350
|
+
* @notes
|
|
2045
2351
|
* @see 了解更多,请参见{@link https://www.volcengine.com/docs/6469/127529 默认词典}。
|
|
2046
2352
|
* @listtip 了解更多,请参见[默认词典](https://www.volcengine.com/docs/6469/127529)。
|
|
2047
2353
|
*/
|
|
@@ -2051,7 +2357,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2051
2357
|
/** {zh}
|
|
2052
2358
|
* @brief 画中画配置。
|
|
2053
2359
|
* @default PC: {position: 'controlsRight', index: 2.5, showIcon: true}; mobile:false
|
|
2054
|
-
* @
|
|
2360
|
+
* @notes 画中画功能由浏览器提供,如果本身浏览器不支持,即使有该配置也不显示画中画按钮
|
|
2055
2361
|
* @listtip 画中画功能由浏览器提供。如果浏览器不支持,即使传入此配置也不会显示画中画按钮。
|
|
2056
2362
|
*/
|
|
2057
2363
|
pip?: IPIPConfig | boolean;
|
|
@@ -2081,7 +2387,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2081
2387
|
definitionTextKey?: string;
|
|
2082
2388
|
/** {zh}
|
|
2083
2389
|
* @brief 视频编码格式。
|
|
2084
|
-
* @
|
|
2390
|
+
* @notes 在已知视频编码方式的情况下推荐传入,以方便日志分析
|
|
2085
2391
|
* @listtip - 在已知视频编码方式的情况下推荐传入,以便日志分析。
|
|
2086
2392
|
* - 在 `useSoftDecoding` 参数为 `true`(开启 H.265 兼容降级模式)时,建议传入,可提升软解初始效率。
|
|
2087
2393
|
*/
|
|
@@ -2089,7 +2395,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2089
2395
|
/** {zh}
|
|
2090
2396
|
* @brief 点播服务所在区域,影响服务接口和日志上报
|
|
2091
2397
|
* @default cn
|
|
2092
|
-
* @
|
|
2398
|
+
* @notes 火山引擎海外区域播放时请填写'mya'
|
|
2093
2399
|
* @hidden
|
|
2094
2400
|
*/
|
|
2095
2401
|
/** {en}
|
|
@@ -2101,12 +2407,12 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2101
2407
|
/** {zh}
|
|
2102
2408
|
* @brief 插件加载的路径。您可从 [SDK 离线包](https://www.volcengine.com/docs/4/67077#%E5%BC%95%E5%85%A5%E4%BE%9D%E8%B5%96)中获取插件,然后将插件文件放置于应用服务器上,再在初始化播放器时指定插件地址。
|
|
2103
2409
|
* @default https://lf-unpkg.volccdn.com/obj/vcloudfe/sdk/@volcengine/veplayer/${version}/plugin
|
|
2104
|
-
* @
|
|
2410
|
+
* @notes 可将插件文件夹置于业务方服务器上,指定插件的地址即可
|
|
2105
2411
|
*/
|
|
2106
2412
|
/** {en}
|
|
2107
2413
|
* @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
2414
|
* @default https://sf-unpkg.bytepluscdn.com/obj/byteplusfe-sg/sdk/@byteplus/veplayer/${version}/plugin
|
|
2109
|
-
* @
|
|
2415
|
+
* @notes can place the plug-in folder on the business server and specify the address of the plug-in.
|
|
2110
2416
|
*/
|
|
2111
2417
|
pluginPublicPath?: string;
|
|
2112
2418
|
/**
|
|
@@ -2222,8 +2528,8 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2222
2528
|
*/
|
|
2223
2529
|
enableMenu?: boolean;
|
|
2224
2530
|
/** {zh}
|
|
2225
|
-
* @brief 是否开启 HLS 视频的 MSE
|
|
2226
|
-
* @
|
|
2531
|
+
* @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生 `video` 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
|
|
2532
|
+
* @notes 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
2227
2533
|
*/
|
|
2228
2534
|
enableHlsMSE?: boolean;
|
|
2229
2535
|
/** {zh}
|
|
@@ -2243,6 +2549,11 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2243
2549
|
* @default -
|
|
2244
2550
|
*/
|
|
2245
2551
|
playList?: Stream[];
|
|
2552
|
+
/** {zh}
|
|
2553
|
+
* @brief 默认清晰度。仅当 `playList` 有值时生效。
|
|
2554
|
+
* @default playList第一项
|
|
2555
|
+
*/
|
|
2556
|
+
defaultDefinition?: string;
|
|
2246
2557
|
/** {zh}
|
|
2247
2558
|
* @brief 插件,可自行选择安装的插件,支持{@link https://h5player.bytedance.com/plugins/ 西瓜播放器插件}。
|
|
2248
2559
|
* @default -
|
|
@@ -2286,7 +2597,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2286
2597
|
* })
|
|
2287
2598
|
* ```
|
|
2288
2599
|
* @default -
|
|
2289
|
-
* @
|
|
2600
|
+
* @notes 插件可以从{@link https://www.volcengine.com/docs/4/67077 集成SDK} 章节中下载SDK离线包获取
|
|
2290
2601
|
*/
|
|
2291
2602
|
umdUrlMap?: Record<string, string>;
|
|
2292
2603
|
/**
|
|
@@ -2314,37 +2625,49 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2314
2625
|
* @default false
|
|
2315
2626
|
*/
|
|
2316
2627
|
enableH265Degrade?: boolean;
|
|
2628
|
+
/** {zh}
|
|
2629
|
+
* @brief 是否开启地址过期检测,开启后以轮询的方式将当前时间与过期时间戳进行对比,以判断是否过期
|
|
2630
|
+
* @default false
|
|
2631
|
+
*/
|
|
2632
|
+
enableUrlExpireCheck?: boolean;
|
|
2633
|
+
/**
|
|
2634
|
+
* @brief 地址的过期时间戳,单位秒(s),vid模式下不用输入,播放器自动获取。如果是火山引擎的CDN分发地址,在不传入过期时间戳时,则需指定urlType,支持{@link https://www.volcengine.com/docs/4/177191 A-E类型},其他云厂商或者业务服务器存储的地址不支持。
|
|
2635
|
+
* @default -
|
|
2636
|
+
*/
|
|
2637
|
+
urlExpireTimestamp?: number;
|
|
2638
|
+
/**
|
|
2639
|
+
* @brief 判断地址过期的阈值,单位秒(s)。如设置为500时,则在过期前500ms时就可以检测出过期执行更新地址操作,为更新地址留足足够缓冲时间。
|
|
2640
|
+
* @default 60
|
|
2641
|
+
*/
|
|
2642
|
+
urlExpireDiff?: number;
|
|
2643
|
+
/**
|
|
2644
|
+
* @brief 地址过期检测任务的时间间隔,单位ms。
|
|
2645
|
+
* @default 400
|
|
2646
|
+
*/
|
|
2647
|
+
urlCheckExpireInterval?: number;
|
|
2317
2648
|
/** {zh}
|
|
2318
2649
|
* @hidden
|
|
2319
2650
|
* @brief 资源过期时的回调函数,用来更新视频资源
|
|
2320
2651
|
* @default -
|
|
2321
2652
|
*/
|
|
2322
|
-
onMediaExpired?: () => Promise<
|
|
2653
|
+
onMediaExpired?: () => Promise<SourceConfig>;
|
|
2323
2654
|
/** {zh}
|
|
2324
2655
|
* @brief `playAuthToken` 过期时的回调函数,可用来更新 `playAuthToken`。
|
|
2325
2656
|
* @default -
|
|
2326
2657
|
*/
|
|
2327
2658
|
onTokenExpired?: () => Promise<IPlayAuthTokenConfig>;
|
|
2328
|
-
/** {zh}
|
|
2329
|
-
* @hidden
|
|
2330
|
-
* @brief 定期检查资源过期的周期,单位秒
|
|
2331
|
-
* @default `400`
|
|
2332
|
-
*/
|
|
2333
|
-
checkExpireInterval?: number;
|
|
2334
|
-
/** {zh}
|
|
2335
|
-
* @hidden
|
|
2336
|
-
* @brief 定期检查资源过期的方式,支持三种类型
|
|
2337
|
-
* - `urlExpire`: 根据url的过期时间判断
|
|
2338
|
-
* - `xhrStatus`: 发送资源请求,根据资源xhr状态判断
|
|
2339
|
-
* - `getUrlTime`: 根据估算的地址获取时间判断
|
|
2340
|
-
*/
|
|
2341
|
-
expireDetectType?: Array<"urlExpire" | "xhrStatus" | "getUrlTime">;
|
|
2342
2659
|
/** {zh}
|
|
2343
2660
|
* @hidden
|
|
2344
2661
|
* @brief 禁用点播日志配置检测,默认开启,如果未配置line_app_id则会播放报错
|
|
2345
2662
|
* @default -
|
|
2346
2663
|
*/
|
|
2347
2664
|
disableVodLogOptsCheck?: boolean;
|
|
2665
|
+
/** {zh}
|
|
2666
|
+
* @hidden
|
|
2667
|
+
* @brief 是否打开日志打印
|
|
2668
|
+
* @default false
|
|
2669
|
+
*/
|
|
2670
|
+
debug?: boolean;
|
|
2348
2671
|
/** {zh}
|
|
2349
2672
|
* @brief 播放器报错信息。支持配置播放异常时显示的异常文案、图片以及是否提供刷新按钮等。
|
|
2350
2673
|
* @default -
|
|
@@ -2363,8 +2686,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2363
2686
|
*/
|
|
2364
2687
|
DanmuPlugin?: IDanmuConfig | boolean;
|
|
2365
2688
|
/** {zh}
|
|
2366
|
-
* @brief
|
|
2367
|
-
* @hidden
|
|
2689
|
+
* @brief 清晰度降级配置。
|
|
2368
2690
|
* @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
|
|
2369
2691
|
*/
|
|
2370
2692
|
DefinitionDemotePlugin?: IDefinitionDemotePlugin;
|
|
@@ -2391,11 +2713,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2391
2713
|
*/
|
|
2392
2714
|
Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
|
|
2393
2715
|
/** {zh}
|
|
2394
|
-
* @hidden
|
|
2395
2716
|
* @brief 自适应码率配置项
|
|
2396
2717
|
* @default -
|
|
2397
2718
|
*/
|
|
2398
|
-
autoBitrateOpts?:
|
|
2719
|
+
autoBitrateOpts?: IAutoBitrateOpts;
|
|
2399
2720
|
/** {zh}
|
|
2400
2721
|
* @brief 外挂字幕配置。
|
|
2401
2722
|
* @default -
|
|
@@ -2425,7 +2746,21 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2425
2746
|
* @brief 播放列表配置。
|
|
2426
2747
|
*/
|
|
2427
2748
|
playListPlugin?: IPlayListConfig;
|
|
2749
|
+
/** {zh}
|
|
2750
|
+
* @brief 动态水印配置
|
|
2751
|
+
* @default -
|
|
2752
|
+
*/
|
|
2753
|
+
dynamicwatermark?: IWatermarkConfig;
|
|
2754
|
+
/** {zh}
|
|
2755
|
+
* @brief 进度条预览缩略图配置
|
|
2756
|
+
* @default -
|
|
2757
|
+
*/
|
|
2758
|
+
thumbnail?: IThumbnailConfig;
|
|
2428
2759
|
}
|
|
2760
|
+
/**
|
|
2761
|
+
* @brief source数据,可包含url、playList、getVideoByToken和urlExpireTimestamp
|
|
2762
|
+
*/
|
|
2763
|
+
export declare type SourceConfig = Pick<IPlayerConfig, "url" | "playList" | "getVideoByToken" | "urlExpireTimestamp">;
|
|
2429
2764
|
/** {zh}
|
|
2430
2765
|
* @hidden
|
|
2431
2766
|
*/
|
|
@@ -2603,157 +2938,53 @@ export interface IPlayAuthTokenConfig {
|
|
|
2603
2938
|
* @default 1
|
|
2604
2939
|
*/
|
|
2605
2940
|
retryCount?: number;
|
|
2606
|
-
}
|
|
2607
|
-
/** {zh}
|
|
2608
|
-
* @list Options
|
|
2609
|
-
* @export
|
|
2610
|
-
* @interface definitionItem
|
|
2611
|
-
* @brief 清晰度定义。
|
|
2612
|
-
*/
|
|
2613
|
-
export interface definitionItem {
|
|
2614
|
-
/** {zh}
|
|
2615
|
-
* @type {string}
|
|
2616
|
-
* @memberof definitionItem
|
|
2617
|
-
* @brief 清晰度。
|
|
2618
|
-
*/
|
|
2619
|
-
definition?: string;
|
|
2620
|
-
/** {zh}
|
|
2621
|
-
* @type {string}
|
|
2622
|
-
* @memberof definitionItem
|
|
2623
|
-
* @brief 清晰度多语言 Key
|
|
2624
|
-
*/
|
|
2625
|
-
definitionTextKey?: string;
|
|
2626
|
-
}
|
|
2627
|
-
export interface IAutoBitrateOptsConfig {
|
|
2628
|
-
/** {zh}
|
|
2629
|
-
* @brief 是否开启功能,默认为false
|
|
2630
|
-
* @type {boolean}
|
|
2631
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2632
|
-
*/
|
|
2633
|
-
isOpenAutoDefi?: boolean;
|
|
2634
|
-
/** {zh}
|
|
2635
|
-
* @brief 自动切换清晰度对应显示文案
|
|
2636
|
-
*
|
|
2637
|
-
* @type {string}
|
|
2638
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2639
|
-
*/
|
|
2640
|
-
autoDefiText?: string;
|
|
2641
2941
|
/** {zh}
|
|
2642
|
-
* @brief
|
|
2643
|
-
* @
|
|
2644
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2645
|
-
*/
|
|
2646
|
-
isPlayAutoDefi?: boolean;
|
|
2647
|
-
/** {zh}
|
|
2648
|
-
* @brief 调用算法频率
|
|
2649
|
-
*
|
|
2650
|
-
* @type {boolean}
|
|
2651
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2652
|
-
*/
|
|
2653
|
-
interval?: number;
|
|
2654
|
-
/** {zh}
|
|
2655
|
-
* @brief 多久后算消费视频,单位秒
|
|
2656
|
-
*
|
|
2657
|
-
* @type {number}
|
|
2658
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2659
|
-
*/
|
|
2660
|
-
noStallCheckTime?: number;
|
|
2661
|
-
/** {zh}
|
|
2662
|
-
* 算法 方法选择见文档,默认使用31即可,目前31策略卡顿收益很高
|
|
2663
|
-
*
|
|
2664
|
-
* @type {number}
|
|
2665
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2666
|
-
*/
|
|
2667
|
-
method?: number;
|
|
2668
|
-
/** {zh}
|
|
2669
|
-
* 算法模块, CDN方式为window.DashAbralgo
|
|
2670
|
-
*
|
|
2671
|
-
* @type {any}
|
|
2672
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2673
|
-
*/
|
|
2674
|
-
module?: any;
|
|
2675
|
-
}
|
|
2676
|
-
/** {zh}
|
|
2677
|
-
* @brief 记忆播放配置。
|
|
2678
|
-
* @kind property
|
|
2679
|
-
* @list Options
|
|
2680
|
-
* @interface IMemoryPlayConfig
|
|
2681
|
-
*/
|
|
2682
|
-
export interface IMemoryPlayConfig {
|
|
2683
|
-
/** {zh}
|
|
2684
|
-
* @brief 存储标识id
|
|
2685
|
-
* @default options.vid || options.url
|
|
2686
|
-
*
|
|
2687
|
-
* @type {number | string}
|
|
2688
|
-
* @memberof IMemoryPlayConfig
|
|
2689
|
-
*/
|
|
2690
|
-
memoryId: number | string;
|
|
2691
|
-
/** {zh}
|
|
2692
|
-
* @brief 设置时间函数
|
|
2942
|
+
* @brief 清晰度自动降级开启时的自动档位,对应{@link https://www.volcengine.com/docs/4/2918 GetPlayInfo}返回的Definition字段
|
|
2943
|
+
* @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
|
|
2693
2944
|
* @default -
|
|
2694
|
-
*
|
|
2695
|
-
* @type {(id: number | string, time: number) => unknown}
|
|
2696
|
-
* @memberof IMemoryPlayConfig
|
|
2697
2945
|
*/
|
|
2698
|
-
|
|
2946
|
+
autoDemoteDefinition?: string;
|
|
2699
2947
|
/** {zh}
|
|
2700
|
-
* @brief
|
|
2948
|
+
* @brief 开启清晰度自动降级(`isNeedAutoDemote` 为 `true`)时的自动档位对应的多语言文案 key,取值对应 `languages` 字段中各语种的 `key`。
|
|
2949
|
+
* @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
|
|
2701
2950
|
* @default -
|
|
2702
2951
|
*/
|
|
2703
|
-
|
|
2704
|
-
}
|
|
2705
|
-
/** {zh}
|
|
2706
|
-
* @
|
|
2707
|
-
|
|
2708
|
-
|
|
2709
|
-
|
|
2710
|
-
|
|
2711
|
-
|
|
2712
|
-
ROOT = "root",
|
|
2713
|
-
/** {zh}
|
|
2714
|
-
* @brief 播放器根节点左侧
|
|
2715
|
-
*/
|
|
2716
|
-
ROOT_LEFT = "rootLeft",
|
|
2717
|
-
/** {zh}
|
|
2718
|
-
* @brief 播放器根节点右侧
|
|
2719
|
-
*/
|
|
2720
|
-
ROOT_RIGHT = "rootRight",
|
|
2721
|
-
/** {zh}
|
|
2722
|
-
* @brief 播放器根节点顶部
|
|
2723
|
-
*/
|
|
2724
|
-
ROOT_TOP = "rootTop",
|
|
2725
|
-
/** {zh}
|
|
2726
|
-
* @brief 播控栏左侧
|
|
2727
|
-
*/
|
|
2728
|
-
CONTROLS_LEFT = "controlsLeft",
|
|
2729
|
-
/** {zh}
|
|
2730
|
-
* @brief 播控栏左侧
|
|
2731
|
-
*/
|
|
2732
|
-
CONTROLS_RIGTH = "controlsRight",
|
|
2733
|
-
/** {zh}
|
|
2734
|
-
* @brief 播控栏右侧
|
|
2735
|
-
*/
|
|
2736
|
-
CONTROLS_RIGHT = "controlsRight",
|
|
2952
|
+
autoDemoteDefinitionTextKey?: string;
|
|
2953
|
+
}
|
|
2954
|
+
/** {zh}
|
|
2955
|
+
* @list Options
|
|
2956
|
+
* @export
|
|
2957
|
+
* @interface definitionItem
|
|
2958
|
+
* @brief 清晰度定义。
|
|
2959
|
+
*/
|
|
2960
|
+
export interface definitionItem {
|
|
2737
2961
|
/** {zh}
|
|
2738
|
-
* @
|
|
2962
|
+
* @type {string}
|
|
2963
|
+
* @memberof definitionItem
|
|
2964
|
+
* @brief 清晰度。
|
|
2739
2965
|
*/
|
|
2740
|
-
|
|
2966
|
+
definition?: string;
|
|
2741
2967
|
/** {zh}
|
|
2742
|
-
* @
|
|
2743
|
-
* @
|
|
2968
|
+
* @type {string}
|
|
2969
|
+
* @memberof definitionItem
|
|
2970
|
+
* @brief 清晰度多语言 Key
|
|
2744
2971
|
*/
|
|
2745
|
-
|
|
2972
|
+
definitionTextKey?: string;
|
|
2746
2973
|
}
|
|
2747
|
-
|
|
2748
|
-
|
|
2974
|
+
/**
|
|
2975
|
+
* @brief Plugin类插件基础配置
|
|
2976
|
+
*/
|
|
2977
|
+
export interface IPluginConfig {
|
|
2978
|
+
position?: typeof Plugin.POSITIONS[keyof typeof Plugin.POSITIONS];
|
|
2749
2979
|
index?: number;
|
|
2980
|
+
disable?: boolean;
|
|
2750
2981
|
}
|
|
2751
2982
|
/** {zh}
|
|
2752
2983
|
* @brief 画中画配置。
|
|
2753
2984
|
* @list Options
|
|
2754
2985
|
* @kind property
|
|
2755
2986
|
*/
|
|
2756
|
-
export interface IPIPConfig extends
|
|
2987
|
+
export interface IPIPConfig extends IPluginConfig {
|
|
2757
2988
|
/** {zh}
|
|
2758
2989
|
* @brief 是否显示画中画按钮。取值如下:
|
|
2759
2990
|
* - `true`:显示画中画按钮。
|
|
@@ -2797,6 +3028,12 @@ export interface IPIPConfig extends IIconPluginConfig {
|
|
|
2797
3028
|
* @kind property
|
|
2798
3029
|
*/
|
|
2799
3030
|
export interface IFullscreenConfig {
|
|
3031
|
+
/** {zh}
|
|
3032
|
+
* @brief 是否使用页面全屏代替系统全屏。取值如下:
|
|
3033
|
+
* - `true`:页面全屏。
|
|
3034
|
+
* - `false`:系统全屏。
|
|
3035
|
+
* @default false
|
|
3036
|
+
*/
|
|
2800
3037
|
/** {zh}
|
|
2801
3038
|
* @brief 是否使用页面全屏代替系统全屏。取值如下:
|
|
2802
3039
|
* - `true`:页面全屏。
|
|
@@ -2809,7 +3046,7 @@ export interface IFullscreenConfig {
|
|
|
2809
3046
|
* - `false`:否。
|
|
2810
3047
|
* - `true`:是,即全屏后,如在竖屏状态下,播放器会把 `dom` 旋转 90 度实现横屏效果。
|
|
2811
3048
|
* @default false
|
|
2812
|
-
* @
|
|
3049
|
+
* @notes
|
|
2813
3050
|
* - 该配置优先于 `useCssFullscreen` 配置。
|
|
2814
3051
|
* - 该配置一般在移动端使用。
|
|
2815
3052
|
* @listtip - 该参数的优先级高于 `useCssFullscreen` 参数。
|
|
@@ -2834,7 +3071,7 @@ export interface IFullscreenConfig {
|
|
|
2834
3071
|
* - `false`:不显示右上角返回按钮。
|
|
2835
3072
|
* - `true`:显示右上角返回按钮。
|
|
2836
3073
|
* @default false
|
|
2837
|
-
* @
|
|
3074
|
+
* @notes 该配置一般在移动端开启
|
|
2838
3075
|
* @listtip 此参数一般用于移动端。
|
|
2839
3076
|
*/
|
|
2840
3077
|
needBackIcon?: boolean;
|
|
@@ -2913,6 +3150,60 @@ export interface IPoster {
|
|
|
2913
3150
|
*/
|
|
2914
3151
|
fillMode?: "fixWidth" | "fixHeight" | "cover" | "contain";
|
|
2915
3152
|
}
|
|
3153
|
+
/** {zh}
|
|
3154
|
+
* @list Options
|
|
3155
|
+
* @brief 进度条预览缩略图配置。
|
|
3156
|
+
* @kind property
|
|
3157
|
+
*/
|
|
3158
|
+
export interface IThumbnailConfig {
|
|
3159
|
+
/** {zh}
|
|
3160
|
+
* @brief 雪碧图地址数组。
|
|
3161
|
+
* @default -
|
|
3162
|
+
*/
|
|
3163
|
+
urls: Array<string>;
|
|
3164
|
+
/** {zh}
|
|
3165
|
+
* @brief 缩略小图总张数。
|
|
3166
|
+
* @default -
|
|
3167
|
+
*/
|
|
3168
|
+
pic_num: number;
|
|
3169
|
+
/** {zh}
|
|
3170
|
+
* @brief 雪碧大图中每列包含的缩略小图数量。
|
|
3171
|
+
* @default -
|
|
3172
|
+
*/
|
|
3173
|
+
col: number;
|
|
3174
|
+
/** {zh}
|
|
3175
|
+
* @brief 雪碧大图中每行包含的缩略小图数量。
|
|
3176
|
+
* @default -
|
|
3177
|
+
*/
|
|
3178
|
+
row: number;
|
|
3179
|
+
/** {zh}
|
|
3180
|
+
* @brief 缩略小图高度,单位为 px。
|
|
3181
|
+
* @default -
|
|
3182
|
+
*/
|
|
3183
|
+
height?: number;
|
|
3184
|
+
/** {zh}
|
|
3185
|
+
* @brief 缩略小图宽度,单位为 px。
|
|
3186
|
+
* @default -
|
|
3187
|
+
*/
|
|
3188
|
+
width?: number;
|
|
3189
|
+
/** {zh}
|
|
3190
|
+
* @brief 显示缩放比例
|
|
3191
|
+
* @default 1
|
|
3192
|
+
* @hidden
|
|
3193
|
+
*/
|
|
3194
|
+
scale?: 1;
|
|
3195
|
+
/** {zh}
|
|
3196
|
+
* @brief 额外添加在dom上的class
|
|
3197
|
+
* @default -
|
|
3198
|
+
* @hidden
|
|
3199
|
+
*/
|
|
3200
|
+
className?: string;
|
|
3201
|
+
/** {zh}
|
|
3202
|
+
* @brief 是否在竖屏的时候隐藏缩略图。
|
|
3203
|
+
* @default false
|
|
3204
|
+
*/
|
|
3205
|
+
hidePortrait?: false;
|
|
3206
|
+
}
|
|
2916
3207
|
/**
|
|
2917
3208
|
* @brief api map
|
|
2918
3209
|
* @hidden
|
|
@@ -2975,16 +3266,14 @@ declare class PlayerData {
|
|
|
2975
3266
|
openSoftDecoding: boolean;
|
|
2976
3267
|
defaultConfig: IDefaultConfig | undefined;
|
|
2977
3268
|
isHitDefault: boolean;
|
|
2978
|
-
codec?: CodecType
|
|
3269
|
+
codec?: `${CodecType}`;
|
|
2979
3270
|
enableH265Degrade: boolean;
|
|
2980
3271
|
languageData: {
|
|
2981
3272
|
extraLangList: IXGI18nText[];
|
|
2982
3273
|
extendLangList: IXGI18nText[];
|
|
2983
3274
|
};
|
|
2984
3275
|
current: Current;
|
|
2985
|
-
|
|
2986
|
-
expireDetectType: Array<"xhrStatus" | "urlExpire" | "getUrlTime">;
|
|
2987
|
-
onMediaExpired: () => Promise<IPlayerConfig>;
|
|
3276
|
+
onMediaExpired: () => Promise<SourceConfig>;
|
|
2988
3277
|
onTokenExpired: () => Promise<IPlayAuthTokenConfig>;
|
|
2989
3278
|
unionId?: string;
|
|
2990
3279
|
unionInfo?: string;
|
|
@@ -2996,12 +3285,31 @@ declare class PlayerData {
|
|
|
2996
3285
|
playDomainDegrade: boolean;
|
|
2997
3286
|
strategiesPlugins: any[];
|
|
2998
3287
|
strategiesPluginConfigs: any;
|
|
3288
|
+
/**
|
|
3289
|
+
* @default playList第一项
|
|
3290
|
+
*/
|
|
3291
|
+
defaultDefinition: string;
|
|
3292
|
+
urlCheckData: {
|
|
3293
|
+
enableUrlExpireCheck: boolean;
|
|
3294
|
+
urlExpireTimestamp: number;
|
|
3295
|
+
urlExpireDiff: number;
|
|
3296
|
+
urlCheckExpireInterval: number;
|
|
3297
|
+
};
|
|
2999
3298
|
constructor(configs: IPlayerConfig);
|
|
3000
|
-
|
|
3001
|
-
|
|
3299
|
+
/**
|
|
3300
|
+
* 初始化播放数据
|
|
3301
|
+
* @param configs { IPlayerConfig } 播放器配置
|
|
3302
|
+
*/
|
|
3303
|
+
initPlayData(configs: IPlayerConfig): void;
|
|
3304
|
+
initPlaylistAndGetCurrent(configs: IPlayerConfig): Stream;
|
|
3002
3305
|
isCurrentH265(): boolean;
|
|
3003
3306
|
getCurrentByDefaultConfig(): Stream;
|
|
3004
|
-
initCurrent(currentStreams:
|
|
3307
|
+
initCurrent(currentStreams: Stream): void;
|
|
3308
|
+
initCheckExpireData(): void;
|
|
3309
|
+
/**
|
|
3310
|
+
* 更新过期检测的数据
|
|
3311
|
+
*/
|
|
3312
|
+
updateCheckExpireData(): void;
|
|
3005
3313
|
initI18nData(languages: any): {
|
|
3006
3314
|
extraLangList: any[];
|
|
3007
3315
|
extendLangList: any[];
|
|
@@ -3009,11 +3317,17 @@ declare class PlayerData {
|
|
|
3009
3317
|
/**
|
|
3010
3318
|
* @description: 获取当前直播url
|
|
3011
3319
|
*/
|
|
3012
|
-
getCurrentUrl():
|
|
3320
|
+
getCurrentUrl(): Url;
|
|
3013
3321
|
/**
|
|
3014
3322
|
* @description: 获取当前的streamType
|
|
3015
3323
|
*/
|
|
3016
3324
|
getCurrentStreamType(): any;
|
|
3325
|
+
getStreamType(): any;
|
|
3326
|
+
isOpenABR(streamType?: string): boolean;
|
|
3327
|
+
showRealDefinition(): boolean;
|
|
3328
|
+
isAutoDefinition(def: any): boolean;
|
|
3329
|
+
isPlayAutoDefinition(def?: string): any;
|
|
3330
|
+
isDefinitionMatch(pre: any, next: any): boolean;
|
|
3017
3331
|
/**
|
|
3018
3332
|
* @description: 获取满足当前直播条件的流
|
|
3019
3333
|
*/
|
|
@@ -3039,9 +3353,10 @@ declare class PlayerData {
|
|
|
3039
3353
|
getUrlList(condition: Condition): Stream[];
|
|
3040
3354
|
/**
|
|
3041
3355
|
* @description: 获取当期清晰的上一级清晰度或下一级清晰度
|
|
3042
|
-
* @param {boolean} isDown
|
|
3356
|
+
* @param {boolean} isDown 是否取下一级清晰度
|
|
3357
|
+
* @param {string[]} demotePriority 清晰度降级顺序
|
|
3043
3358
|
*/
|
|
3044
|
-
getNextDefinition(isDown: boolean, demotePriority:
|
|
3359
|
+
getNextDefinition(isDown: boolean, demotePriority: string[]): Stream[];
|
|
3045
3360
|
/**
|
|
3046
3361
|
* 获取api map
|
|
3047
3362
|
* @return { ApiMapConfig }
|
|
@@ -3052,6 +3367,15 @@ declare class PlayerData {
|
|
|
3052
3367
|
*/
|
|
3053
3368
|
get playDomain(): string;
|
|
3054
3369
|
setVodTeaId(): void;
|
|
3370
|
+
/**
|
|
3371
|
+
* 更新configs,即更新用户的configs,常用于playNext时
|
|
3372
|
+
* @param newConfigs {IPlayerConfig} 要更新的配置
|
|
3373
|
+
*/
|
|
3374
|
+
updateConfigs(newConfigs: IPlayerConfig): void;
|
|
3375
|
+
/**
|
|
3376
|
+
* 更新playList
|
|
3377
|
+
*/
|
|
3378
|
+
updatePlayList(): void;
|
|
3055
3379
|
}
|
|
3056
3380
|
declare function isMSESupport(mime?: string): boolean;
|
|
3057
3381
|
/**
|
|
@@ -3102,7 +3426,7 @@ declare enum UmdKeys {
|
|
|
3102
3426
|
StreamProbe = "streamprobe",
|
|
3103
3427
|
VeStrategy = "vestrategy",
|
|
3104
3428
|
VeStrategyH265 = "vestrategy_h265",
|
|
3105
|
-
|
|
3429
|
+
DashAbralgo = "DashAbralgo"
|
|
3106
3430
|
}
|
|
3107
3431
|
/**
|
|
3108
3432
|
* @hidden
|
|
@@ -3149,91 +3473,6 @@ declare class umdLoader {
|
|
|
3149
3473
|
*/
|
|
3150
3474
|
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
3151
3475
|
}
|
|
3152
|
-
export interface IPreloadConfig {
|
|
3153
|
-
preloadCacheType: 0 | 1;
|
|
3154
|
-
autoPreload: boolean;
|
|
3155
|
-
autoCheckPreload: boolean;
|
|
3156
|
-
autoCheck: {
|
|
3157
|
-
enable: boolean;
|
|
3158
|
-
interval: number;
|
|
3159
|
-
};
|
|
3160
|
-
preloadTime: number;
|
|
3161
|
-
segmentMinDuration: number;
|
|
3162
|
-
preloadMaxCacheCount: number;
|
|
3163
|
-
}
|
|
3164
|
-
export interface IPreloadConfigOptions extends IPreloadConfig {
|
|
3165
|
-
enableMp4: boolean;
|
|
3166
|
-
enableDash: boolean;
|
|
3167
|
-
enableDebugger: boolean;
|
|
3168
|
-
plugins: any[];
|
|
3169
|
-
}
|
|
3170
|
-
export interface IPreloadDataPayload {
|
|
3171
|
-
vid: string;
|
|
3172
|
-
vtype: string;
|
|
3173
|
-
codecType: string;
|
|
3174
|
-
payload: Array<{
|
|
3175
|
-
url: {
|
|
3176
|
-
src: string;
|
|
3177
|
-
}[];
|
|
3178
|
-
bitrate: number;
|
|
3179
|
-
duration: number;
|
|
3180
|
-
size: number;
|
|
3181
|
-
definition: string;
|
|
3182
|
-
}>;
|
|
3183
|
-
defaultDefinition?: string;
|
|
3184
|
-
duration?: number;
|
|
3185
|
-
mediaType?: string;
|
|
3186
|
-
bizType?: 0 | 1;
|
|
3187
|
-
}
|
|
3188
|
-
export interface IPreloadData {
|
|
3189
|
-
data: IPreloadDataPayload;
|
|
3190
|
-
order?: number;
|
|
3191
|
-
}
|
|
3192
|
-
declare class Preloader {
|
|
3193
|
-
private inst;
|
|
3194
|
-
private sdkUmdLoader;
|
|
3195
|
-
private registerPromise;
|
|
3196
|
-
constructor();
|
|
3197
|
-
static get defaultConfig(): {
|
|
3198
|
-
preloadCacheType: number;
|
|
3199
|
-
autoPreload: boolean;
|
|
3200
|
-
autoCheckPreload: boolean;
|
|
3201
|
-
autoCheck: {
|
|
3202
|
-
enable: boolean;
|
|
3203
|
-
interval: number;
|
|
3204
|
-
};
|
|
3205
|
-
preloadTime: number;
|
|
3206
|
-
isDegrade: boolean;
|
|
3207
|
-
waitingTimeOut: number;
|
|
3208
|
-
needAutoBitrate: boolean;
|
|
3209
|
-
startPreloadMinBuffer: number;
|
|
3210
|
-
startPreloadControl: boolean;
|
|
3211
|
-
maxBufferLength: number;
|
|
3212
|
-
minBufferLength: number;
|
|
3213
|
-
removeBufferLen: number;
|
|
3214
|
-
preloadMaxCacheCount: number;
|
|
3215
|
-
startPreloadMinPosTime: number;
|
|
3216
|
-
resumePlayWaterLevel: number;
|
|
3217
|
-
onProcessMinLen: number;
|
|
3218
|
-
needPreloadCheck: boolean;
|
|
3219
|
-
forceVideoPlay: boolean;
|
|
3220
|
-
segmentMinDuration: number;
|
|
3221
|
-
timerInWorker: boolean;
|
|
3222
|
-
tickInSeconds: number;
|
|
3223
|
-
fixEditListOffset: boolean;
|
|
3224
|
-
audioGroupingStrategy: number;
|
|
3225
|
-
noPreloadAddBufferLen: number;
|
|
3226
|
-
loadRangeType: string;
|
|
3227
|
-
};
|
|
3228
|
-
private initUmdLoader;
|
|
3229
|
-
private _register;
|
|
3230
|
-
register(config: Partial<IPreloadConfigOptions>): Promise<any>;
|
|
3231
|
-
addList(preloadList: IPreloadData[]): Promise<void>;
|
|
3232
|
-
updateConfig(config: Partial<IPreloadConfig>): Promise<void>;
|
|
3233
|
-
attachPlayer(player: any): Promise<void>;
|
|
3234
|
-
removeAll(): Promise<any>;
|
|
3235
|
-
removeAllPreloadTask(): Promise<any>;
|
|
3236
|
-
}
|
|
3237
3476
|
/**
|
|
3238
3477
|
* @hidden
|
|
3239
3478
|
*/
|
|
@@ -3267,7 +3506,7 @@ declare class VePlayer {
|
|
|
3267
3506
|
* @type {*}
|
|
3268
3507
|
* @memberof VePlayer
|
|
3269
3508
|
*/
|
|
3270
|
-
mountingDom:
|
|
3509
|
+
mountingDom: Element;
|
|
3271
3510
|
/** {zh}
|
|
3272
3511
|
* @hidden
|
|
3273
3512
|
*
|
|
@@ -3321,25 +3560,9 @@ declare class VePlayer {
|
|
|
3321
3560
|
private checkExpireTimer;
|
|
3322
3561
|
/**
|
|
3323
3562
|
* @hidden
|
|
3324
|
-
*
|
|
3325
|
-
* @type {*}
|
|
3326
|
-
* @memberof VePlayer
|
|
3327
|
-
*/
|
|
3328
|
-
private _playOriginalUrl;
|
|
3329
|
-
/**
|
|
3330
|
-
* @hidden
|
|
3331
|
-
* 过期次数
|
|
3332
|
-
* @type {*}
|
|
3333
|
-
* @memberof VePlayer
|
|
3334
|
-
*/
|
|
3335
|
-
private expireCount;
|
|
3336
|
-
/**
|
|
3337
|
-
* @hidden
|
|
3338
|
-
* 获取url的时间
|
|
3339
|
-
* @type {*}
|
|
3340
|
-
* @memberof VePlayer
|
|
3563
|
+
* 上次触发过期的时间
|
|
3341
3564
|
*/
|
|
3342
|
-
private
|
|
3565
|
+
private emitExpireTimestamp;
|
|
3343
3566
|
/**
|
|
3344
3567
|
* @hidden
|
|
3345
3568
|
* 延迟触发但错误
|
|
@@ -3347,7 +3570,6 @@ declare class VePlayer {
|
|
|
3347
3570
|
* @memberof VePlayer
|
|
3348
3571
|
*/
|
|
3349
3572
|
delayError: any[];
|
|
3350
|
-
private isFirstEmitted;
|
|
3351
3573
|
/**
|
|
3352
3574
|
* @hidden
|
|
3353
3575
|
* umd加载器
|
|
@@ -3367,7 +3589,6 @@ declare class VePlayer {
|
|
|
3367
3589
|
* @hidden
|
|
3368
3590
|
*/
|
|
3369
3591
|
static veStrategy: typeof VeStrategy;
|
|
3370
|
-
static preloader: Preloader;
|
|
3371
3592
|
/**
|
|
3372
3593
|
* @brief SDK 版本
|
|
3373
3594
|
* @type {*}
|
|
@@ -3383,6 +3604,14 @@ declare class VePlayer {
|
|
|
3383
3604
|
targetProfileLevel?: string;
|
|
3384
3605
|
}) => Promise<boolean>;
|
|
3385
3606
|
private vodLogCommon;
|
|
3607
|
+
/**
|
|
3608
|
+
* @hidden
|
|
3609
|
+
* 延时触发的events,即保证在palyer创建之后才触发
|
|
3610
|
+
*/
|
|
3611
|
+
delayEvents: Array<{
|
|
3612
|
+
name: string;
|
|
3613
|
+
payload: any;
|
|
3614
|
+
}>;
|
|
3386
3615
|
/** {zh}
|
|
3387
3616
|
* @brief 构造函数。
|
|
3388
3617
|
* @param configs 播放器实例化配置。
|
|
@@ -3407,7 +3636,7 @@ declare class VePlayer {
|
|
|
3407
3636
|
* @description 初始化过期检测
|
|
3408
3637
|
* @memberof VePlayer
|
|
3409
3638
|
*/
|
|
3410
|
-
|
|
3639
|
+
private _initCheckExpire;
|
|
3411
3640
|
/**
|
|
3412
3641
|
* @hidden
|
|
3413
3642
|
* @description 更新umdLoader 的配置
|
|
@@ -3430,19 +3659,13 @@ declare class VePlayer {
|
|
|
3430
3659
|
* @description 循环执行过期检测
|
|
3431
3660
|
* @memberof VePlayer
|
|
3432
3661
|
*/
|
|
3433
|
-
|
|
3662
|
+
private _onRepeat;
|
|
3434
3663
|
/**
|
|
3435
3664
|
* @hidden
|
|
3436
3665
|
* @brief 触发过期事件
|
|
3437
3666
|
* @memberof VePlayer
|
|
3438
3667
|
*/
|
|
3439
|
-
|
|
3440
|
-
/**
|
|
3441
|
-
* @hidden
|
|
3442
|
-
* @brief 地址获取时间
|
|
3443
|
-
* @memberof VePlayer
|
|
3444
|
-
*/
|
|
3445
|
-
getUrlTimestamp(url: string): void;
|
|
3668
|
+
private _emitExpireEvent;
|
|
3446
3669
|
/** {zh}
|
|
3447
3670
|
* @brief 监听事件。
|
|
3448
3671
|
* @memberof VePlayer
|
|
@@ -3484,6 +3707,12 @@ declare class VePlayer {
|
|
|
3484
3707
|
* @memberof VePlayer
|
|
3485
3708
|
*/
|
|
3486
3709
|
renderPoster(): void;
|
|
3710
|
+
/**
|
|
3711
|
+
* @brief 获取西瓜的definition的配置,用于在创建player或者在playNext()时传入definition,
|
|
3712
|
+
* 以用来将playerData的当前清晰度列表数据与player.config.definition的数据进行同步
|
|
3713
|
+
* @private
|
|
3714
|
+
*/
|
|
3715
|
+
private getDefinitionConfig;
|
|
3487
3716
|
/** {zh}
|
|
3488
3717
|
* @hidden
|
|
3489
3718
|
*
|
|
@@ -3493,7 +3722,7 @@ declare class VePlayer {
|
|
|
3493
3722
|
createPlayer(): Promise<PlayerCore>;
|
|
3494
3723
|
/** {zh}
|
|
3495
3724
|
* @hidden
|
|
3496
|
-
*
|
|
3725
|
+
* @brief 设置合并开发者的插件配置,如果开发者从初始化的configs里传了插件配置,则只用开发者的配置,并补齐其他参数
|
|
3497
3726
|
* @param {IPlayerConfig} finalOptions
|
|
3498
3727
|
* @return {void}
|
|
3499
3728
|
* @memberof VePlayer
|
|
@@ -3530,6 +3759,7 @@ declare class VePlayer {
|
|
|
3530
3759
|
DanmuPlugin?: any;
|
|
3531
3760
|
LiveSubtitlesIconPlugin?: any;
|
|
3532
3761
|
};
|
|
3762
|
+
private getStreamType;
|
|
3533
3763
|
/**
|
|
3534
3764
|
*
|
|
3535
3765
|
* @private
|
|
@@ -3560,7 +3790,8 @@ declare class VePlayer {
|
|
|
3560
3790
|
*
|
|
3561
3791
|
* @memberof VePlayer
|
|
3562
3792
|
*/
|
|
3563
|
-
|
|
3793
|
+
private _emitDelayError;
|
|
3794
|
+
private _emitDelayEvent;
|
|
3564
3795
|
/**
|
|
3565
3796
|
* @hidden
|
|
3566
3797
|
*
|
|
@@ -3576,19 +3807,22 @@ declare class VePlayer {
|
|
|
3576
3807
|
*/
|
|
3577
3808
|
private _mountingPlayerPanel;
|
|
3578
3809
|
/**
|
|
3579
|
-
*
|
|
3580
3810
|
*
|
|
3581
3811
|
* @private
|
|
3582
3812
|
* @return {*}
|
|
3583
3813
|
* @memberof VePlayer
|
|
3584
3814
|
*/
|
|
3585
3815
|
private _bindPlayerEvents;
|
|
3816
|
+
private _onError;
|
|
3586
3817
|
/** {zh}
|
|
3587
3818
|
* @private
|
|
3588
|
-
* @return {*}
|
|
3589
|
-
* @memberof VePlayer
|
|
3590
3819
|
*/
|
|
3591
|
-
private
|
|
3820
|
+
private _onMediaExpiredAction;
|
|
3821
|
+
/**
|
|
3822
|
+
* @brief 更新视频源,常用于地址过期时或者过期前更新视频地址及过期时间戳
|
|
3823
|
+
* @param source 视频资源配置,支持传入地址url、playList、getVideByToken以及过期检查的相关配置
|
|
3824
|
+
*/
|
|
3825
|
+
updateMediaSource(source: SourceConfig): Promise<void>;
|
|
3592
3826
|
/** {zh}
|
|
3593
3827
|
* @hidden
|
|
3594
3828
|
*
|
|
@@ -3647,25 +3881,25 @@ declare class VePlayer {
|
|
|
3647
3881
|
* @param config `playAuthToken` 配置。
|
|
3648
3882
|
*/
|
|
3649
3883
|
updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
|
|
3884
|
+
private _playerPlayNext;
|
|
3650
3885
|
/** {zh}
|
|
3651
|
-
* @brief
|
|
3886
|
+
* @brief 返回当前视频的地址。
|
|
3887
|
+
* @notice 多source下,返回video的currentSrc,即实际使用的source。MSE 播放时返回blob地址。
|
|
3652
3888
|
* @memberof VePlayer
|
|
3653
3889
|
*/
|
|
3654
|
-
get src():
|
|
3890
|
+
get src(): string;
|
|
3655
3891
|
/** {zh}
|
|
3656
3892
|
* @brief 设置当前视频的地址
|
|
3657
3893
|
* @notes 会重新拉取新的视频,从0开始起播
|
|
3658
3894
|
* @memberof VePlayer
|
|
3659
3895
|
*/
|
|
3660
|
-
set src(url:
|
|
3896
|
+
set src(url: Url);
|
|
3661
3897
|
/** {zh}
|
|
3662
|
-
* @notes 更换后,会从更换前的时间点继续播放。
|
|
3663
|
-
* @return {Promise<void>}
|
|
3664
|
-
* @memberof VePlayer
|
|
3665
3898
|
* @brief 播放时更换视频 URL,以更换视频源。
|
|
3899
|
+
* @notes 更换后,会从更换前的时间点继续播放。
|
|
3666
3900
|
* @param url 视频播放地址。
|
|
3667
3901
|
*/
|
|
3668
|
-
switchURL(url:
|
|
3902
|
+
switchURL(url: Url): Promise<void>;
|
|
3669
3903
|
/** {zh}
|
|
3670
3904
|
* @memberof VePlayer
|
|
3671
3905
|
* @brief 针对不同格式的视频,重建播放器内核播放下一个视频。
|
|
@@ -3683,13 +3917,7 @@ declare class VePlayer {
|
|
|
3683
3917
|
* @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
|
|
3684
3918
|
*/
|
|
3685
3919
|
playNext(config: IPlayerConfig, isNewVideo?: boolean): Promise<any>;
|
|
3686
|
-
|
|
3687
|
-
* @hidden
|
|
3688
|
-
*
|
|
3689
|
-
* @return {*}
|
|
3690
|
-
* @memberof VePlayer
|
|
3691
|
-
*/
|
|
3692
|
-
resetUrlState(url: any): void;
|
|
3920
|
+
private _playNext;
|
|
3693
3921
|
/** {zh}
|
|
3694
3922
|
* @brief 销毁xgplayer实例
|
|
3695
3923
|
*
|
|
@@ -3713,7 +3941,7 @@ declare class VePlayer {
|
|
|
3713
3941
|
getSoftDecodingOption(isOpenSoftDecoding: boolean, url: string, type: string): Promise<{
|
|
3714
3942
|
mediaType?: string;
|
|
3715
3943
|
innerDegrade?: number;
|
|
3716
|
-
codecType?: CodecType
|
|
3944
|
+
codecType?: `${CodecType}`;
|
|
3717
3945
|
plugins?: any[];
|
|
3718
3946
|
}>;
|
|
3719
3947
|
/** {zh}
|
|
@@ -3723,6 +3951,21 @@ declare class VePlayer {
|
|
|
3723
3951
|
* @memberof VePlayer
|
|
3724
3952
|
*/
|
|
3725
3953
|
setH265SoftPlayList(): void;
|
|
3954
|
+
/** {zh}
|
|
3955
|
+
* @brief 切换清晰度
|
|
3956
|
+
* @param definition 清晰度,如果在vid播放中有映射的清晰度,则对应映射之后的清晰度
|
|
3957
|
+
* @notes 如果传的清晰度不存在,则不处理。可以通过api: getDefinitionList()获取当前的清晰度列表
|
|
3958
|
+
*/
|
|
3959
|
+
changeDefinition(definition: string): void;
|
|
3960
|
+
/** {zh}
|
|
3961
|
+
* @brief 获取当前的清晰度列表,列表项中包含definition、url和selected,selected为true时表示当前被选中的清晰度
|
|
3962
|
+
*/
|
|
3963
|
+
getDefinitionList(): Array<{
|
|
3964
|
+
definition: string;
|
|
3965
|
+
url: IUrl;
|
|
3966
|
+
selected: boolean;
|
|
3967
|
+
[propName: string]: any;
|
|
3968
|
+
}>;
|
|
3726
3969
|
/** {zh}
|
|
3727
3970
|
* @brief 初始化多语言词典
|
|
3728
3971
|
*
|
|
@@ -4166,73 +4409,6 @@ export declare class Subtitle extends Plugin {
|
|
|
4166
4409
|
destroy(): void;
|
|
4167
4410
|
render(): string;
|
|
4168
4411
|
}
|
|
4169
|
-
export interface WatermarkConfig {
|
|
4170
|
-
enable: boolean;
|
|
4171
|
-
content: string;
|
|
4172
|
-
displayType: 0 | 1 | 2;
|
|
4173
|
-
fontSize: number | string;
|
|
4174
|
-
fontColor: string;
|
|
4175
|
-
opacity: number;
|
|
4176
|
-
tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
|
|
4177
|
-
fontFamily?: string;
|
|
4178
|
-
top?: number;
|
|
4179
|
-
left?: number;
|
|
4180
|
-
bottom?: number;
|
|
4181
|
-
right?: number;
|
|
4182
|
-
}
|
|
4183
|
-
export declare class DynamicWatermarkPlugin extends Plugin {
|
|
4184
|
-
private wm;
|
|
4185
|
-
static get pluginName(): string;
|
|
4186
|
-
static get defaultConfig(): WatermarkConfig & {
|
|
4187
|
-
position: string;
|
|
4188
|
-
};
|
|
4189
|
-
constructor(props: any);
|
|
4190
|
-
afterCreate(): void;
|
|
4191
|
-
start(): void;
|
|
4192
|
-
pause(): void;
|
|
4193
|
-
resume(): void;
|
|
4194
|
-
resize(): void;
|
|
4195
|
-
_initWatermark(): void;
|
|
4196
|
-
destroy(): void;
|
|
4197
|
-
render(): string | HTMLElement;
|
|
4198
|
-
}
|
|
4199
|
-
export declare class DefinitionDemotePlugin extends Plugin {
|
|
4200
|
-
static get pluginName(): string;
|
|
4201
|
-
waitings: number[];
|
|
4202
|
-
timer: any;
|
|
4203
|
-
longWaitingEmitTime: number;
|
|
4204
|
-
waitingStartTime: number;
|
|
4205
|
-
playerData: any;
|
|
4206
|
-
isNeedShowTips: boolean;
|
|
4207
|
-
static get defaultConfig(): {
|
|
4208
|
-
oftenWaitingCount: number;
|
|
4209
|
-
oftenWaitingTime: number;
|
|
4210
|
-
longWaitingTime: number;
|
|
4211
|
-
isNeedAutoDemote: boolean;
|
|
4212
|
-
demotePriority: any[];
|
|
4213
|
-
};
|
|
4214
|
-
constructor(args: any);
|
|
4215
|
-
registerLanguageTexts(): {
|
|
4216
|
-
definition_demote_txt: {
|
|
4217
|
-
jp: string;
|
|
4218
|
-
en: string;
|
|
4219
|
-
zh: string;
|
|
4220
|
-
"zh-hk": string;
|
|
4221
|
-
};
|
|
4222
|
-
};
|
|
4223
|
-
afterCreate(): void;
|
|
4224
|
-
bindCtx(): void;
|
|
4225
|
-
bindEvents(): void;
|
|
4226
|
-
_waiting(): void;
|
|
4227
|
-
_count(): void;
|
|
4228
|
-
_time(): void;
|
|
4229
|
-
_clearTime(): void;
|
|
4230
|
-
clearState(): void;
|
|
4231
|
-
demote(): void;
|
|
4232
|
-
changeUrl(url: any): void;
|
|
4233
|
-
showToast(definition: any): void;
|
|
4234
|
-
destroy(): void;
|
|
4235
|
-
}
|
|
4236
4412
|
export declare class TimeShiftPlugin extends Plugin {
|
|
4237
4413
|
static get pluginName(): string;
|
|
4238
4414
|
static get defaultConfig(): {
|
|
@@ -4345,56 +4521,6 @@ export declare class MirrorPlugin extends Plugin {
|
|
|
4345
4521
|
destroy(): void;
|
|
4346
4522
|
render(): string;
|
|
4347
4523
|
}
|
|
4348
|
-
declare class ToastPlugin extends Plugin {
|
|
4349
|
-
static get pluginName(): string;
|
|
4350
|
-
static get defaultConfig(): {
|
|
4351
|
-
index: number;
|
|
4352
|
-
};
|
|
4353
|
-
constructor(args: any);
|
|
4354
|
-
private toastNumber;
|
|
4355
|
-
private toastMaps;
|
|
4356
|
-
beforePlayerInit(): void;
|
|
4357
|
-
afterPlayerInit(): void;
|
|
4358
|
-
afterCreate(): void;
|
|
4359
|
-
destroy(): void;
|
|
4360
|
-
add(content: string | HTMLElement, duration?: number, isNeedCloseBt?: boolean): number;
|
|
4361
|
-
remove(id: number): void;
|
|
4362
|
-
renderToast(content: string | HTMLElement, isNeedCloseBt: any, id: any): HTMLElement;
|
|
4363
|
-
render(): string;
|
|
4364
|
-
}
|
|
4365
|
-
export declare class MemoryPlay extends Plugin {
|
|
4366
|
-
static get pluginName(): string;
|
|
4367
|
-
static get defaultConfig(): {
|
|
4368
|
-
getTime: any;
|
|
4369
|
-
saveTime: any;
|
|
4370
|
-
memoryId: string;
|
|
4371
|
-
};
|
|
4372
|
-
startTime: number;
|
|
4373
|
-
saveTimeFun: (id: number | string, time: number) => unknown;
|
|
4374
|
-
getTimeFun: (id: number | string) => number | Promise<number>;
|
|
4375
|
-
memoryId: number | string;
|
|
4376
|
-
canJump: boolean;
|
|
4377
|
-
constructor(args: any);
|
|
4378
|
-
registerLanguageTexts(): {
|
|
4379
|
-
preText: {
|
|
4380
|
-
jp: string;
|
|
4381
|
-
en: string;
|
|
4382
|
-
zh: string;
|
|
4383
|
-
"zh-hk": string;
|
|
4384
|
-
};
|
|
4385
|
-
};
|
|
4386
|
-
children(): {
|
|
4387
|
-
toast: typeof ToastPlugin;
|
|
4388
|
-
};
|
|
4389
|
-
afterCreate(): void;
|
|
4390
|
-
beforePlayerInit(): Promise<void>;
|
|
4391
|
-
destroy(): void;
|
|
4392
|
-
getTime(): Promise<void>;
|
|
4393
|
-
setSave(): void;
|
|
4394
|
-
showToast(): void;
|
|
4395
|
-
saveTimeByStorage(memoryId: any, time: any): void;
|
|
4396
|
-
getTimeByStorage(memoryId: any): string;
|
|
4397
|
-
}
|
|
4398
4524
|
export declare type InfoItem = {
|
|
4399
4525
|
key: string;
|
|
4400
4526
|
label: string;
|
|
@@ -4578,11 +4704,11 @@ export declare const Events: {
|
|
|
4578
4704
|
*/
|
|
4579
4705
|
PLAYER_EXTEND_BUTTON: string;
|
|
4580
4706
|
/** {zh}
|
|
4581
|
-
* @brief
|
|
4707
|
+
* @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
|
|
4582
4708
|
*/
|
|
4583
4709
|
LONG_WAITING: string;
|
|
4584
4710
|
/** {zh}
|
|
4585
|
-
* @brief
|
|
4711
|
+
* @brief 发生频繁卡顿时触发。
|
|
4586
4712
|
*/
|
|
4587
4713
|
OFTEN_WAITING: string;
|
|
4588
4714
|
/** {zh}
|
|
@@ -4657,6 +4783,18 @@ export declare const Events: {
|
|
|
4657
4783
|
* @brief 播放列表播放项变更。
|
|
4658
4784
|
*/
|
|
4659
4785
|
PLAY_LIST_ITEM_CHANGE: string;
|
|
4786
|
+
/** {zh}
|
|
4787
|
+
* @brief playNext开始
|
|
4788
|
+
*/
|
|
4789
|
+
PLAY_NEXT_START: string;
|
|
4790
|
+
/** {zh}
|
|
4791
|
+
* @brief playNext结束。
|
|
4792
|
+
*/
|
|
4793
|
+
PLAY_NEXT_END: string;
|
|
4794
|
+
/** {zh}
|
|
4795
|
+
* @brief 自动挡档位改变。
|
|
4796
|
+
*/
|
|
4797
|
+
ABR_AUTO_DESC_CHANGE: string;
|
|
4660
4798
|
/** {zh}
|
|
4661
4799
|
* @brief 播放器实例创建完成时触发。
|
|
4662
4800
|
*/
|
|
@@ -4846,9 +4984,14 @@ export declare const Events: {
|
|
|
4846
4984
|
*/
|
|
4847
4985
|
DURATION_CHANGE: string;
|
|
4848
4986
|
/** {zh}
|
|
4987
|
+
* @deprecated
|
|
4849
4988
|
* @brief 媒体被清空(初始化)时触发。
|
|
4850
4989
|
*/
|
|
4851
4990
|
EMPITED: string;
|
|
4991
|
+
/** {zh}
|
|
4992
|
+
* @brief 媒体被清空(初始化)时触发。
|
|
4993
|
+
*/
|
|
4994
|
+
EMPTIED: string;
|
|
4852
4995
|
/** {zh}
|
|
4853
4996
|
* @brief 视频播放完毕时触发。
|
|
4854
4997
|
*/
|
|
@@ -5164,11 +5307,11 @@ export declare const Event: {
|
|
|
5164
5307
|
*/
|
|
5165
5308
|
PLAYER_EXTEND_BUTTON: string;
|
|
5166
5309
|
/** {zh}
|
|
5167
|
-
* @brief
|
|
5310
|
+
* @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
|
|
5168
5311
|
*/
|
|
5169
5312
|
LONG_WAITING: string;
|
|
5170
5313
|
/** {zh}
|
|
5171
|
-
* @brief
|
|
5314
|
+
* @brief 发生频繁卡顿时触发。
|
|
5172
5315
|
*/
|
|
5173
5316
|
OFTEN_WAITING: string;
|
|
5174
5317
|
/** {zh}
|
|
@@ -5243,6 +5386,18 @@ export declare const Event: {
|
|
|
5243
5386
|
* @brief 播放列表播放项变更。
|
|
5244
5387
|
*/
|
|
5245
5388
|
PLAY_LIST_ITEM_CHANGE: string;
|
|
5389
|
+
/** {zh}
|
|
5390
|
+
* @brief playNext开始
|
|
5391
|
+
*/
|
|
5392
|
+
PLAY_NEXT_START: string;
|
|
5393
|
+
/** {zh}
|
|
5394
|
+
* @brief playNext结束。
|
|
5395
|
+
*/
|
|
5396
|
+
PLAY_NEXT_END: string;
|
|
5397
|
+
/** {zh}
|
|
5398
|
+
* @brief 自动挡档位改变。
|
|
5399
|
+
*/
|
|
5400
|
+
ABR_AUTO_DESC_CHANGE: string;
|
|
5246
5401
|
};
|
|
5247
5402
|
};
|
|
5248
5403
|
export * from "xgplayer";
|