@volcengine/veplayer 1.8.7-rc.0 → 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 +281 -318
- 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/mp4Encrypt.js +2 -2
- package/plugin/preloader.js +0 -2
package/index.d.ts
CHANGED
|
@@ -779,51 +779,78 @@ export interface ITextItem {
|
|
|
779
779
|
index?: number;
|
|
780
780
|
}
|
|
781
781
|
/**
|
|
782
|
-
* @brief
|
|
782
|
+
* @brief 清晰度降级配置。
|
|
783
783
|
* @list Options
|
|
784
784
|
* @kind property
|
|
785
785
|
*/
|
|
786
|
+
/** {en}
|
|
787
|
+
* @brief 清晰度降级配置
|
|
788
|
+
*/
|
|
786
789
|
export interface IDefinitionDemotePlugin {
|
|
787
790
|
/**
|
|
788
|
-
* @brief
|
|
791
|
+
* @brief 是否开启自动降级,取值如下:
|
|
792
|
+
* - `false`:关闭自动降级。
|
|
793
|
+
* - `true`:开启自动降级。
|
|
789
794
|
* @default true
|
|
790
795
|
*
|
|
791
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
|
+
*/
|
|
792
802
|
isNeedAutoDemote?: boolean;
|
|
793
803
|
/**
|
|
794
|
-
* @brief
|
|
804
|
+
* @brief 清晰度降级顺序。数组中的元素需与 `playList` 中的 `definition` 相对应。
|
|
795
805
|
* @default []
|
|
796
806
|
*
|
|
797
807
|
* @type {string[]}
|
|
798
808
|
* @memberof IDefinitionDemotePlugin
|
|
799
809
|
*/
|
|
800
|
-
|
|
810
|
+
/** {en}
|
|
811
|
+
*/
|
|
812
|
+
demotePriority: string[];
|
|
801
813
|
/**
|
|
802
|
-
* @brief
|
|
814
|
+
* @brief 长时间卡顿的时间阈值,单位为毫秒。卡顿时长超过该值,即视为长时间卡顿。发生长时间卡顿时,SDK 会触发 `LONG_WAITING` 事件。
|
|
803
815
|
* @default 5000
|
|
804
816
|
*
|
|
805
817
|
*/
|
|
818
|
+
/** {en}
|
|
819
|
+
* @brief 长时间卡顿的时间阈值,单位为ms。卡顿超过该值,即为长时间卡顿
|
|
820
|
+
*/
|
|
806
821
|
longWaitingTime?: number;
|
|
807
822
|
/**
|
|
808
|
-
* @brief
|
|
823
|
+
* @brief 频繁卡顿的次数阈值。`oftenWaitingTime` 内卡顿次数大于或等于阈值时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
|
|
809
824
|
* @default 3
|
|
810
825
|
*
|
|
811
826
|
*/
|
|
827
|
+
/** {en}
|
|
828
|
+
* @brief 频繁卡顿的次数阈值。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
829
|
+
*/
|
|
812
830
|
oftenWaitingCount?: number;
|
|
813
831
|
/**
|
|
814
|
-
* @brief
|
|
832
|
+
* @brief 频繁卡顿监测的时间范围。`oftenWaitingTime` 内卡顿次数大于或等于 `oftenWaitingCount` 时,SDK 会触发 `OFTEN_WAITING` 事件,提示发生了频繁卡顿。
|
|
815
833
|
* @default 5000
|
|
816
834
|
*/
|
|
835
|
+
/** {en}
|
|
836
|
+
* @brief 频繁卡顿的时间范围。OftenWaitingTime 内卡顿次数大于等于阈值时,触发often_waiting事件,即表示发生了频繁卡顿
|
|
837
|
+
*/
|
|
817
838
|
oftenWaitingTime?: number;
|
|
818
839
|
/**
|
|
819
|
-
* @brief
|
|
840
|
+
* @brief 卡顿时是否显示清晰度降级提示 toast。
|
|
820
841
|
* @default true
|
|
821
842
|
*/
|
|
843
|
+
/** {en}
|
|
844
|
+
* @brief 卡顿时是否显示建议切换清晰度的提醒tips
|
|
845
|
+
*/
|
|
822
846
|
isNeedShowTips?: boolean;
|
|
823
847
|
/**
|
|
824
|
-
* @brief
|
|
848
|
+
* @brief 清晰度降级提示 toast 的显示时长,单位为毫秒。
|
|
825
849
|
* @default 3000
|
|
826
850
|
*/
|
|
851
|
+
/** {en}
|
|
852
|
+
* @brief 提醒降级的toast显示持续时间,单位ms
|
|
853
|
+
*/
|
|
827
854
|
toastShowTime?: number;
|
|
828
855
|
}
|
|
829
856
|
export declare class DefinitionDemotePlugin extends Plugin {
|
|
@@ -853,7 +880,7 @@ export declare class DefinitionDemotePlugin extends Plugin {
|
|
|
853
880
|
_clearTime(): void;
|
|
854
881
|
clearState(): void;
|
|
855
882
|
demote(): void;
|
|
856
|
-
changeUrl(url:
|
|
883
|
+
changeUrl(url: Url): void;
|
|
857
884
|
showToast(definition: Stream): void;
|
|
858
885
|
destroy(): void;
|
|
859
886
|
}
|
|
@@ -1380,6 +1407,11 @@ export interface IAutoplayPluginConfig {
|
|
|
1380
1407
|
* @brief 开启任意点击/触摸的用户行为触发自动播放
|
|
1381
1408
|
*/
|
|
1382
1409
|
enableUserActionAutoplay?: boolean;
|
|
1410
|
+
/**
|
|
1411
|
+
* @brief 静音自动播放时,是否在播放器容器上居中展示取消静音的大按钮
|
|
1412
|
+
* @default true
|
|
1413
|
+
*/
|
|
1414
|
+
showUnmuteBtn?: boolean;
|
|
1383
1415
|
}
|
|
1384
1416
|
declare class PlayList {
|
|
1385
1417
|
private config;
|
|
@@ -1670,44 +1702,73 @@ export declare class PlayListPlugin extends Plugin {
|
|
|
1670
1702
|
*/
|
|
1671
1703
|
export interface IWatermarkConfig {
|
|
1672
1704
|
/**
|
|
1673
|
-
* @brief
|
|
1705
|
+
* @brief 是否开启动态水印,取值如下:<br/>
|
|
1706
|
+
* - `true`:开启动态水印
|
|
1707
|
+
* - `false`:关闭动态水印
|
|
1674
1708
|
* @default false
|
|
1675
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
|
+
*/
|
|
1676
1715
|
enable: boolean;
|
|
1677
1716
|
/**
|
|
1678
|
-
* @brief
|
|
1717
|
+
* @brief 水印文案。
|
|
1679
1718
|
* @default -
|
|
1680
1719
|
*/
|
|
1720
|
+
/** {en}
|
|
1721
|
+
* @brief 水印文案内容
|
|
1722
|
+
*/
|
|
1681
1723
|
content: string;
|
|
1682
1724
|
/**
|
|
1683
|
-
* @brief
|
|
1684
|
-
*
|
|
1685
|
-
*
|
|
1686
|
-
*
|
|
1725
|
+
* @brief 水印展示形式,取值如下:<br/>
|
|
1726
|
+
* - `0`:固定位置
|
|
1727
|
+
* - `1`:全屏滚动
|
|
1728
|
+
* - `2`:随机闪烁
|
|
1687
1729
|
* @default 1
|
|
1688
1730
|
*/
|
|
1689
|
-
|
|
1731
|
+
/** {en}
|
|
1732
|
+
* @brief 水印展示形式
|
|
1733
|
+
* - 0: 固定位置
|
|
1734
|
+
* - 1: 全屏滚动
|
|
1735
|
+
* - 2: 随机闪烁
|
|
1736
|
+
*/
|
|
1737
|
+
displayType?: 0 | 1 | 2;
|
|
1690
1738
|
/**
|
|
1691
|
-
* @brief
|
|
1739
|
+
* @brief 水印字体大小。`number`类型时单位为 px,`string` 类型时需要携带单位。
|
|
1692
1740
|
* @default 12
|
|
1693
1741
|
*/
|
|
1694
|
-
|
|
1742
|
+
/** {en}
|
|
1743
|
+
* @brief 水印字体大小,number类型时单位为px,string类型需要携带单位
|
|
1744
|
+
*/
|
|
1745
|
+
fontSize?: number | string;
|
|
1695
1746
|
/**
|
|
1747
|
+
* @brief 水印字体颜色。
|
|
1748
|
+
* @brief 水印字体颜色。
|
|
1749
|
+
*/
|
|
1750
|
+
/** {en}
|
|
1696
1751
|
* @brief 水印字体颜色
|
|
1697
|
-
* @brief #FFFFFF
|
|
1698
1752
|
*/
|
|
1699
|
-
fontColor
|
|
1753
|
+
fontColor?: string;
|
|
1700
1754
|
/**
|
|
1701
|
-
* @brief
|
|
1755
|
+
* @brief 水印不透明度。取值范围:\[0~1\]。
|
|
1702
1756
|
* @default 0.3
|
|
1703
1757
|
*/
|
|
1704
|
-
|
|
1758
|
+
/** {en}
|
|
1759
|
+
* @brief 不透明度
|
|
1760
|
+
*/
|
|
1761
|
+
opacity?: number;
|
|
1705
1762
|
/**
|
|
1706
|
-
* @brief
|
|
1763
|
+
* @brief 水印闪烁速度,取值如下:<br/>
|
|
1764
|
+
* - `MODERATE`:适中
|
|
1765
|
+
* - `FAST`:较快
|
|
1766
|
+
* - `SLOW`:较慢
|
|
1767
|
+
* @default MODERATE
|
|
1768
|
+
*/
|
|
1769
|
+
/** {en}
|
|
1707
1770
|
* @default MODERATE
|
|
1708
|
-
*
|
|
1709
|
-
* - FAST: 较快
|
|
1710
|
-
* - SLOW: 较慢
|
|
1771
|
+
* @brief 水印闪烁速度
|
|
1711
1772
|
*/
|
|
1712
1773
|
tickerSpeed?: "SLOW" | "MODERATE" | "FAST";
|
|
1713
1774
|
/**
|
|
@@ -1716,22 +1777,22 @@ export interface IWatermarkConfig {
|
|
|
1716
1777
|
*/
|
|
1717
1778
|
fontFamily?: string;
|
|
1718
1779
|
/**
|
|
1719
|
-
* @brief
|
|
1780
|
+
* @brief 水印相对于播放容器顶部的距离,单位为 px
|
|
1720
1781
|
* @default 0
|
|
1721
1782
|
*/
|
|
1722
1783
|
top?: number;
|
|
1723
1784
|
/**
|
|
1724
|
-
* @brief
|
|
1785
|
+
* @brief 水印相对于播放容器左侧的距离,单位为 px。
|
|
1725
1786
|
* @default 0
|
|
1726
1787
|
*/
|
|
1727
1788
|
left?: number;
|
|
1728
1789
|
/**
|
|
1729
|
-
* @brief
|
|
1790
|
+
* @brief 水印相对于播放容器底部的距离,单位为 px。
|
|
1730
1791
|
* @default -
|
|
1731
1792
|
*/
|
|
1732
1793
|
bottom?: number;
|
|
1733
1794
|
/**
|
|
1734
|
-
* @brief
|
|
1795
|
+
* @brief 水印相对于播放容器右侧的距离,单位为 px。
|
|
1735
1796
|
* @default -
|
|
1736
1797
|
*/
|
|
1737
1798
|
right?: number;
|
|
@@ -1778,39 +1839,39 @@ declare class ToastPlugin extends Plugin {
|
|
|
1778
1839
|
export interface IMemoryPlayConfig {
|
|
1779
1840
|
/** {zh}
|
|
1780
1841
|
* @brief 存储标识id
|
|
1781
|
-
* @default
|
|
1782
|
-
*
|
|
1842
|
+
* @default options.vid || options.url
|
|
1783
1843
|
* @type {number | string}
|
|
1784
1844
|
* @memberof IMemoryPlayConfig
|
|
1785
1845
|
*/
|
|
1786
1846
|
memoryId: number | string;
|
|
1787
1847
|
/** {zh}
|
|
1788
|
-
* @brief
|
|
1848
|
+
* @brief 设置时间函数
|
|
1789
1849
|
* @default -
|
|
1790
|
-
* @param id
|
|
1791
|
-
* @param time
|
|
1850
|
+
* @param id
|
|
1851
|
+
* @param time
|
|
1792
1852
|
* @type {(id: number | string, time: number) => unknown}
|
|
1793
1853
|
* @memberof IMemoryPlayConfig
|
|
1794
1854
|
*/
|
|
1795
1855
|
saveTime?: (id: number | string, time: number) => unknown;
|
|
1796
1856
|
/** {zh}
|
|
1797
|
-
* @brief
|
|
1798
|
-
* @param id
|
|
1857
|
+
* @brief 获取最后一次播放时间函数
|
|
1858
|
+
* @param id
|
|
1799
1859
|
* @default -
|
|
1800
1860
|
*/
|
|
1801
1861
|
getTime?: (id: number | string) => number | Promise<number>;
|
|
1802
1862
|
/** {zh}
|
|
1803
|
-
* @brief
|
|
1863
|
+
* @brief 判断播放是否已开始的最小时间阈值。如果播放时长短于此阈值,则不算作已开始播放,存储的时间进度为 0。
|
|
1804
1864
|
* @default 1
|
|
1805
1865
|
*/
|
|
1806
1866
|
minStartTime?: number;
|
|
1807
1867
|
/** {zh}
|
|
1808
|
-
* @brief
|
|
1868
|
+
* @brief 判断播放是否已结束的最小时间阈值,即距离结束还剩余的时间不足此阈值时,即视为播放已结束。播放结束时,不再存储时间进度,并将之前的进度清零。
|
|
1809
1869
|
* @default 1
|
|
1810
1870
|
*/
|
|
1811
1871
|
minEndTime?: number;
|
|
1812
1872
|
}
|
|
1813
1873
|
export declare class MemoryPlay extends Plugin {
|
|
1874
|
+
private curTime;
|
|
1814
1875
|
static get pluginName(): string;
|
|
1815
1876
|
static get defaultConfig(): IMemoryPlayConfig;
|
|
1816
1877
|
startTime: number;
|
|
@@ -2036,11 +2097,11 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2036
2097
|
streamType?: string;
|
|
2037
2098
|
/** {zh}
|
|
2038
2099
|
* @brief 播放地址
|
|
2039
|
-
*
|
|
2040
|
-
* @type {
|
|
2100
|
+
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
2101
|
+
* @type {Url}
|
|
2041
2102
|
* @memberof IPlayerConfig
|
|
2042
2103
|
*/
|
|
2043
|
-
url:
|
|
2104
|
+
url: Url;
|
|
2044
2105
|
/** {zh}
|
|
2045
2106
|
* @type {string}
|
|
2046
2107
|
* @memberof Stream
|
|
@@ -2050,7 +2111,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2050
2111
|
/** {zh}
|
|
2051
2112
|
* @type {string}
|
|
2052
2113
|
* @memberof Stream
|
|
2053
|
-
* @brief 映射清晰度 key
|
|
2114
|
+
* @brief 映射清晰度 key
|
|
2054
2115
|
* @default -
|
|
2055
2116
|
*/
|
|
2056
2117
|
mapDefinition?: string;
|
|
@@ -2095,6 +2156,11 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2095
2156
|
* @default -
|
|
2096
2157
|
*/
|
|
2097
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;
|
|
2098
2164
|
/** {zh}
|
|
2099
2165
|
* @hidden
|
|
2100
2166
|
*/
|
|
@@ -2106,10 +2172,7 @@ export interface Stream extends Partial<IPlayInfoListItem> {
|
|
|
2106
2172
|
export interface Condition {
|
|
2107
2173
|
definition?: string;
|
|
2108
2174
|
lineId?: number | string;
|
|
2109
|
-
|
|
2110
|
-
* @hidden
|
|
2111
|
-
*/
|
|
2112
|
-
[propName: string]: any;
|
|
2175
|
+
url?: Url;
|
|
2113
2176
|
}
|
|
2114
2177
|
/** {zh}
|
|
2115
2178
|
* @hidden
|
|
@@ -2120,11 +2183,26 @@ export interface Current {
|
|
|
2120
2183
|
language: string;
|
|
2121
2184
|
lineId?: number | string;
|
|
2122
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;
|
|
2123
2191
|
/**
|
|
2124
2192
|
* @hidden
|
|
2125
2193
|
*/
|
|
2126
2194
|
[propName: string]: any;
|
|
2127
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
|
+
}>;
|
|
2128
2206
|
/** {zh}
|
|
2129
2207
|
* @list Options
|
|
2130
2208
|
* @kind property
|
|
@@ -2155,9 +2233,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2155
2233
|
root?: HTMLElement;
|
|
2156
2234
|
/** {zh}
|
|
2157
2235
|
* @brief 视频播放地址。
|
|
2236
|
+
* 如果是数组形式,则数组每项需要传入src和type,分别表示视频地址及类型,在非MSE的播放方式下,将以HTML@{link https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/source <source>} 形式设置视频资源
|
|
2158
2237
|
* @default -
|
|
2159
2238
|
*/
|
|
2160
|
-
url?:
|
|
2239
|
+
url?: Url;
|
|
2161
2240
|
/** {zh}
|
|
2162
2241
|
* @brief 视频点播服务中的视频 ID。推荐填写,以方便跟踪该视频的播放质量。您将音视频上传至视频点播服务后,可通过以下方式获取 `Vid`:
|
|
2163
2242
|
*
|
|
@@ -2449,7 +2528,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2449
2528
|
*/
|
|
2450
2529
|
enableMenu?: boolean;
|
|
2451
2530
|
/** {zh}
|
|
2452
|
-
* @brief 是否开启 HLS 视频的 MSE
|
|
2531
|
+
* @brief 是否开启 HLS 视频的 MSE 模式。仅移动端生效。默认情况下,在移动端使用原生 `video` 播放 HLS 视频。开启后,将采用 MSE 方式播放 HLS 视频,实现更好的兼容性、能控制缓存、节省流量。
|
|
2453
2532
|
* @notes 仅移动端生效,开启后采用MSE方式播放HLS,默认在移动端使用原生video播放hls
|
|
2454
2533
|
*/
|
|
2455
2534
|
enableHlsMSE?: boolean;
|
|
@@ -2471,7 +2550,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2471
2550
|
*/
|
|
2472
2551
|
playList?: Stream[];
|
|
2473
2552
|
/** {zh}
|
|
2474
|
-
* @brief
|
|
2553
|
+
* @brief 默认清晰度。仅当 `playList` 有值时生效。
|
|
2475
2554
|
* @default playList第一项
|
|
2476
2555
|
*/
|
|
2477
2556
|
defaultDefinition?: string;
|
|
@@ -2546,31 +2625,37 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2546
2625
|
* @default false
|
|
2547
2626
|
*/
|
|
2548
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;
|
|
2549
2648
|
/** {zh}
|
|
2550
2649
|
* @hidden
|
|
2551
2650
|
* @brief 资源过期时的回调函数,用来更新视频资源
|
|
2552
2651
|
* @default -
|
|
2553
2652
|
*/
|
|
2554
|
-
onMediaExpired?: () => Promise<
|
|
2653
|
+
onMediaExpired?: () => Promise<SourceConfig>;
|
|
2555
2654
|
/** {zh}
|
|
2556
2655
|
* @brief `playAuthToken` 过期时的回调函数,可用来更新 `playAuthToken`。
|
|
2557
2656
|
* @default -
|
|
2558
2657
|
*/
|
|
2559
2658
|
onTokenExpired?: () => Promise<IPlayAuthTokenConfig>;
|
|
2560
|
-
/** {zh}
|
|
2561
|
-
* @hidden
|
|
2562
|
-
* @brief 定期检查资源过期的周期,单位秒
|
|
2563
|
-
* @default `400`
|
|
2564
|
-
*/
|
|
2565
|
-
checkExpireInterval?: number;
|
|
2566
|
-
/** {zh}
|
|
2567
|
-
* @hidden
|
|
2568
|
-
* @brief 定期检查资源过期的方式,支持三种类型
|
|
2569
|
-
* - `urlExpire`: 根据url的过期时间判断
|
|
2570
|
-
* - `xhrStatus`: 发送资源请求,根据资源xhr状态判断
|
|
2571
|
-
* - `getUrlTime`: 根据估算的地址获取时间判断
|
|
2572
|
-
*/
|
|
2573
|
-
expireDetectType?: Array<"urlExpire" | "xhrStatus" | "getUrlTime">;
|
|
2574
2659
|
/** {zh}
|
|
2575
2660
|
* @hidden
|
|
2576
2661
|
* @brief 禁用点播日志配置检测,默认开启,如果未配置line_app_id则会播放报错
|
|
@@ -2601,7 +2686,7 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2601
2686
|
*/
|
|
2602
2687
|
DanmuPlugin?: IDanmuConfig | boolean;
|
|
2603
2688
|
/** {zh}
|
|
2604
|
-
* @brief
|
|
2689
|
+
* @brief 清晰度降级配置。
|
|
2605
2690
|
* @notes 需要先引入DefinitionDemotePlugin插件,plugins: [VePlayer.DefinitionDemotePlugin]
|
|
2606
2691
|
*/
|
|
2607
2692
|
DefinitionDemotePlugin?: IDefinitionDemotePlugin;
|
|
@@ -2628,11 +2713,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2628
2713
|
*/
|
|
2629
2714
|
Mp4EncryptPlayer?: Partial<IMp4EncryptPlayerConfig> | boolean;
|
|
2630
2715
|
/** {zh}
|
|
2631
|
-
* @hidden
|
|
2632
2716
|
* @brief 自适应码率配置项
|
|
2633
2717
|
* @default -
|
|
2634
2718
|
*/
|
|
2635
|
-
autoBitrateOpts?:
|
|
2719
|
+
autoBitrateOpts?: IAutoBitrateOpts;
|
|
2636
2720
|
/** {zh}
|
|
2637
2721
|
* @brief 外挂字幕配置。
|
|
2638
2722
|
* @default -
|
|
@@ -2673,6 +2757,10 @@ export interface IPlayerConfig extends IPlayerOptions {
|
|
|
2673
2757
|
*/
|
|
2674
2758
|
thumbnail?: IThumbnailConfig;
|
|
2675
2759
|
}
|
|
2760
|
+
/**
|
|
2761
|
+
* @brief source数据,可包含url、playList、getVideoByToken和urlExpireTimestamp
|
|
2762
|
+
*/
|
|
2763
|
+
export declare type SourceConfig = Pick<IPlayerConfig, "url" | "playList" | "getVideoByToken" | "urlExpireTimestamp">;
|
|
2676
2764
|
/** {zh}
|
|
2677
2765
|
* @hidden
|
|
2678
2766
|
*/
|
|
@@ -2857,7 +2945,7 @@ export interface IPlayAuthTokenConfig {
|
|
|
2857
2945
|
*/
|
|
2858
2946
|
autoDemoteDefinition?: string;
|
|
2859
2947
|
/** {zh}
|
|
2860
|
-
* @brief
|
|
2948
|
+
* @brief 开启清晰度自动降级(`isNeedAutoDemote` 为 `true`)时的自动档位对应的多语言文案 key,取值对应 `languages` 字段中各语种的 `key`。
|
|
2861
2949
|
* @notes 如果指定的清晰度,playAuthToken从服务端返回的清晰度列表中不存在该清晰度,则此参数无效。
|
|
2862
2950
|
* @default -
|
|
2863
2951
|
*/
|
|
@@ -2883,107 +2971,20 @@ export interface definitionItem {
|
|
|
2883
2971
|
*/
|
|
2884
2972
|
definitionTextKey?: string;
|
|
2885
2973
|
}
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
* @brief 是否开启功能,默认为false
|
|
2889
|
-
* @type {boolean}
|
|
2890
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2891
|
-
*/
|
|
2892
|
-
isOpenAutoDefi?: boolean;
|
|
2893
|
-
/** {zh}
|
|
2894
|
-
* @brief 自动切换清晰度对应显示文案
|
|
2895
|
-
*
|
|
2896
|
-
* @type {string}
|
|
2897
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2898
|
-
*/
|
|
2899
|
-
autoDefiText?: string;
|
|
2900
|
-
/** {zh}
|
|
2901
|
-
* @brief 起播是否调整到自动切换, 默认为false
|
|
2902
|
-
* @type {boolean}
|
|
2903
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2904
|
-
*/
|
|
2905
|
-
isPlayAutoDefi?: boolean;
|
|
2906
|
-
/** {zh}
|
|
2907
|
-
* @brief 调用算法频率
|
|
2908
|
-
*
|
|
2909
|
-
* @type {boolean}
|
|
2910
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2911
|
-
*/
|
|
2912
|
-
interval?: number;
|
|
2913
|
-
/** {zh}
|
|
2914
|
-
* @brief 多久后算消费视频,单位秒
|
|
2915
|
-
*
|
|
2916
|
-
* @type {number}
|
|
2917
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2918
|
-
*/
|
|
2919
|
-
noStallCheckTime?: number;
|
|
2920
|
-
/** {zh}
|
|
2921
|
-
* 算法 方法选择见文档,默认使用31即可,目前31策略卡顿收益很高
|
|
2922
|
-
*
|
|
2923
|
-
* @type {number}
|
|
2924
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2925
|
-
*/
|
|
2926
|
-
method?: number;
|
|
2927
|
-
/** {zh}
|
|
2928
|
-
* 算法模块, CDN方式为window.DashAbralgo
|
|
2929
|
-
*
|
|
2930
|
-
* @type {any}
|
|
2931
|
-
* @memberof IAutoBitrateOptsConfig
|
|
2932
|
-
*/
|
|
2933
|
-
module?: any;
|
|
2934
|
-
}
|
|
2935
|
-
/** {zh}
|
|
2936
|
-
* @brief 插件按钮位置
|
|
2974
|
+
/**
|
|
2975
|
+
* @brief Plugin类插件基础配置
|
|
2937
2976
|
*/
|
|
2938
|
-
export
|
|
2939
|
-
|
|
2940
|
-
* @brief 播放器根节点
|
|
2941
|
-
*/
|
|
2942
|
-
ROOT = "root",
|
|
2943
|
-
/** {zh}
|
|
2944
|
-
* @brief 播放器根节点左侧
|
|
2945
|
-
*/
|
|
2946
|
-
ROOT_LEFT = "rootLeft",
|
|
2947
|
-
/** {zh}
|
|
2948
|
-
* @brief 播放器根节点右侧
|
|
2949
|
-
*/
|
|
2950
|
-
ROOT_RIGHT = "rootRight",
|
|
2951
|
-
/** {zh}
|
|
2952
|
-
* @brief 播放器根节点顶部
|
|
2953
|
-
*/
|
|
2954
|
-
ROOT_TOP = "rootTop",
|
|
2955
|
-
/** {zh}
|
|
2956
|
-
* @brief 播控栏左侧
|
|
2957
|
-
*/
|
|
2958
|
-
CONTROLS_LEFT = "controlsLeft",
|
|
2959
|
-
/** {zh}
|
|
2960
|
-
* @brief 播控栏左侧
|
|
2961
|
-
*/
|
|
2962
|
-
CONTROLS_RIGTH = "controlsRight",
|
|
2963
|
-
/** {zh}
|
|
2964
|
-
* @brief 播控栏右侧
|
|
2965
|
-
*/
|
|
2966
|
-
CONTROLS_RIGHT = "controlsRight",
|
|
2967
|
-
/** {zh}
|
|
2968
|
-
* @brief 播控栏中间
|
|
2969
|
-
*/
|
|
2970
|
-
CONTROLS_CENTER = "controlsCenter",
|
|
2971
|
-
/** {zh}
|
|
2972
|
-
* @hidden
|
|
2973
|
-
* @brief 播控栏左侧
|
|
2974
|
-
*/
|
|
2975
|
-
CONTROLS = "controls"
|
|
2976
|
-
}
|
|
2977
|
-
export interface IIconPluginConfig {
|
|
2978
|
-
position?: POSITIONS;
|
|
2977
|
+
export interface IPluginConfig {
|
|
2978
|
+
position?: typeof Plugin.POSITIONS[keyof typeof Plugin.POSITIONS];
|
|
2979
2979
|
index?: number;
|
|
2980
|
+
disable?: boolean;
|
|
2980
2981
|
}
|
|
2981
2982
|
/** {zh}
|
|
2982
2983
|
* @brief 画中画配置。
|
|
2983
2984
|
* @list Options
|
|
2984
2985
|
* @kind property
|
|
2985
2986
|
*/
|
|
2986
|
-
export interface IPIPConfig extends
|
|
2987
|
+
export interface IPIPConfig extends IPluginConfig {
|
|
2987
2988
|
/** {zh}
|
|
2988
2989
|
* @brief 是否显示画中画按钮。取值如下:
|
|
2989
2990
|
* - `true`:显示画中画按钮。
|
|
@@ -3027,6 +3028,12 @@ export interface IPIPConfig extends IIconPluginConfig {
|
|
|
3027
3028
|
* @kind property
|
|
3028
3029
|
*/
|
|
3029
3030
|
export interface IFullscreenConfig {
|
|
3031
|
+
/** {zh}
|
|
3032
|
+
* @brief 是否使用页面全屏代替系统全屏。取值如下:
|
|
3033
|
+
* - `true`:页面全屏。
|
|
3034
|
+
* - `false`:系统全屏。
|
|
3035
|
+
* @default false
|
|
3036
|
+
*/
|
|
3030
3037
|
/** {zh}
|
|
3031
3038
|
* @brief 是否使用页面全屏代替系统全屏。取值如下:
|
|
3032
3039
|
* - `true`:页面全屏。
|
|
@@ -3145,52 +3152,54 @@ export interface IPoster {
|
|
|
3145
3152
|
}
|
|
3146
3153
|
/** {zh}
|
|
3147
3154
|
* @list Options
|
|
3148
|
-
* @brief
|
|
3155
|
+
* @brief 进度条预览缩略图配置。
|
|
3149
3156
|
* @kind property
|
|
3150
3157
|
*/
|
|
3151
3158
|
export interface IThumbnailConfig {
|
|
3152
3159
|
/** {zh}
|
|
3153
|
-
* @brief
|
|
3160
|
+
* @brief 雪碧图地址数组。
|
|
3154
3161
|
* @default -
|
|
3155
3162
|
*/
|
|
3156
3163
|
urls: Array<string>;
|
|
3157
3164
|
/** {zh}
|
|
3158
|
-
* @brief
|
|
3165
|
+
* @brief 缩略小图总张数。
|
|
3159
3166
|
* @default -
|
|
3160
3167
|
*/
|
|
3161
3168
|
pic_num: number;
|
|
3162
3169
|
/** {zh}
|
|
3163
|
-
* @brief
|
|
3170
|
+
* @brief 雪碧大图中每列包含的缩略小图数量。
|
|
3164
3171
|
* @default -
|
|
3165
3172
|
*/
|
|
3166
3173
|
col: number;
|
|
3167
3174
|
/** {zh}
|
|
3168
|
-
* @brief
|
|
3175
|
+
* @brief 雪碧大图中每行包含的缩略小图数量。
|
|
3169
3176
|
* @default -
|
|
3170
3177
|
*/
|
|
3171
3178
|
row: number;
|
|
3172
3179
|
/** {zh}
|
|
3173
|
-
* @brief
|
|
3180
|
+
* @brief 缩略小图高度,单位为 px。
|
|
3174
3181
|
* @default -
|
|
3175
3182
|
*/
|
|
3176
3183
|
height?: number;
|
|
3177
3184
|
/** {zh}
|
|
3178
|
-
* @brief
|
|
3185
|
+
* @brief 缩略小图宽度,单位为 px。
|
|
3179
3186
|
* @default -
|
|
3180
3187
|
*/
|
|
3181
3188
|
width?: number;
|
|
3182
3189
|
/** {zh}
|
|
3183
3190
|
* @brief 显示缩放比例
|
|
3184
3191
|
* @default 1
|
|
3192
|
+
* @hidden
|
|
3185
3193
|
*/
|
|
3186
3194
|
scale?: 1;
|
|
3187
3195
|
/** {zh}
|
|
3188
3196
|
* @brief 额外添加在dom上的class
|
|
3189
3197
|
* @default -
|
|
3198
|
+
* @hidden
|
|
3190
3199
|
*/
|
|
3191
3200
|
className?: string;
|
|
3192
3201
|
/** {zh}
|
|
3193
|
-
* @brief
|
|
3202
|
+
* @brief 是否在竖屏的时候隐藏缩略图。
|
|
3194
3203
|
* @default false
|
|
3195
3204
|
*/
|
|
3196
3205
|
hidePortrait?: false;
|
|
@@ -3257,16 +3266,14 @@ declare class PlayerData {
|
|
|
3257
3266
|
openSoftDecoding: boolean;
|
|
3258
3267
|
defaultConfig: IDefaultConfig | undefined;
|
|
3259
3268
|
isHitDefault: boolean;
|
|
3260
|
-
codec?: CodecType
|
|
3269
|
+
codec?: `${CodecType}`;
|
|
3261
3270
|
enableH265Degrade: boolean;
|
|
3262
3271
|
languageData: {
|
|
3263
3272
|
extraLangList: IXGI18nText[];
|
|
3264
3273
|
extendLangList: IXGI18nText[];
|
|
3265
3274
|
};
|
|
3266
3275
|
current: Current;
|
|
3267
|
-
|
|
3268
|
-
expireDetectType: Array<"xhrStatus" | "urlExpire" | "getUrlTime">;
|
|
3269
|
-
onMediaExpired: () => Promise<IPlayerConfig>;
|
|
3276
|
+
onMediaExpired: () => Promise<SourceConfig>;
|
|
3270
3277
|
onTokenExpired: () => Promise<IPlayAuthTokenConfig>;
|
|
3271
3278
|
unionId?: string;
|
|
3272
3279
|
unionInfo?: string;
|
|
@@ -3279,16 +3286,30 @@ declare class PlayerData {
|
|
|
3279
3286
|
strategiesPlugins: any[];
|
|
3280
3287
|
strategiesPluginConfigs: any;
|
|
3281
3288
|
/**
|
|
3282
|
-
* @brief direct-url播放模式时的默认清晰度
|
|
3283
3289
|
* @default playList第一项
|
|
3284
3290
|
*/
|
|
3285
3291
|
defaultDefinition: string;
|
|
3292
|
+
urlCheckData: {
|
|
3293
|
+
enableUrlExpireCheck: boolean;
|
|
3294
|
+
urlExpireTimestamp: number;
|
|
3295
|
+
urlExpireDiff: number;
|
|
3296
|
+
urlCheckExpireInterval: number;
|
|
3297
|
+
};
|
|
3286
3298
|
constructor(configs: IPlayerConfig);
|
|
3299
|
+
/**
|
|
3300
|
+
* 初始化播放数据
|
|
3301
|
+
* @param configs { IPlayerConfig } 播放器配置
|
|
3302
|
+
*/
|
|
3287
3303
|
initPlayData(configs: IPlayerConfig): void;
|
|
3288
3304
|
initPlaylistAndGetCurrent(configs: IPlayerConfig): Stream;
|
|
3289
3305
|
isCurrentH265(): boolean;
|
|
3290
3306
|
getCurrentByDefaultConfig(): Stream;
|
|
3291
|
-
initCurrent(currentStreams:
|
|
3307
|
+
initCurrent(currentStreams: Stream): void;
|
|
3308
|
+
initCheckExpireData(): void;
|
|
3309
|
+
/**
|
|
3310
|
+
* 更新过期检测的数据
|
|
3311
|
+
*/
|
|
3312
|
+
updateCheckExpireData(): void;
|
|
3292
3313
|
initI18nData(languages: any): {
|
|
3293
3314
|
extraLangList: any[];
|
|
3294
3315
|
extendLangList: any[];
|
|
@@ -3296,11 +3317,17 @@ declare class PlayerData {
|
|
|
3296
3317
|
/**
|
|
3297
3318
|
* @description: 获取当前直播url
|
|
3298
3319
|
*/
|
|
3299
|
-
getCurrentUrl():
|
|
3320
|
+
getCurrentUrl(): Url;
|
|
3300
3321
|
/**
|
|
3301
3322
|
* @description: 获取当前的streamType
|
|
3302
3323
|
*/
|
|
3303
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;
|
|
3304
3331
|
/**
|
|
3305
3332
|
* @description: 获取满足当前直播条件的流
|
|
3306
3333
|
*/
|
|
@@ -3340,6 +3367,15 @@ declare class PlayerData {
|
|
|
3340
3367
|
*/
|
|
3341
3368
|
get playDomain(): string;
|
|
3342
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;
|
|
3343
3379
|
}
|
|
3344
3380
|
declare function isMSESupport(mime?: string): boolean;
|
|
3345
3381
|
/**
|
|
@@ -3390,7 +3426,7 @@ declare enum UmdKeys {
|
|
|
3390
3426
|
StreamProbe = "streamprobe",
|
|
3391
3427
|
VeStrategy = "vestrategy",
|
|
3392
3428
|
VeStrategyH265 = "vestrategy_h265",
|
|
3393
|
-
|
|
3429
|
+
DashAbralgo = "DashAbralgo"
|
|
3394
3430
|
}
|
|
3395
3431
|
/**
|
|
3396
3432
|
* @hidden
|
|
@@ -3437,91 +3473,6 @@ declare class umdLoader {
|
|
|
3437
3473
|
*/
|
|
3438
3474
|
loadPlugins(pluginName: UmdKeys, successCallback?: () => void): Promise<any>;
|
|
3439
3475
|
}
|
|
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
|
-
}
|
|
3525
3476
|
/**
|
|
3526
3477
|
* @hidden
|
|
3527
3478
|
*/
|
|
@@ -3609,25 +3560,9 @@ declare class VePlayer {
|
|
|
3609
3560
|
private checkExpireTimer;
|
|
3610
3561
|
/**
|
|
3611
3562
|
* @hidden
|
|
3612
|
-
*
|
|
3613
|
-
* @type {*}
|
|
3614
|
-
* @memberof VePlayer
|
|
3615
|
-
*/
|
|
3616
|
-
private _playOriginalUrl;
|
|
3617
|
-
/**
|
|
3618
|
-
* @hidden
|
|
3619
|
-
* 过期次数
|
|
3620
|
-
* @type {*}
|
|
3621
|
-
* @memberof VePlayer
|
|
3622
|
-
*/
|
|
3623
|
-
private expireCount;
|
|
3624
|
-
/**
|
|
3625
|
-
* @hidden
|
|
3626
|
-
* 获取url的时间
|
|
3627
|
-
* @type {*}
|
|
3628
|
-
* @memberof VePlayer
|
|
3563
|
+
* 上次触发过期的时间
|
|
3629
3564
|
*/
|
|
3630
|
-
private
|
|
3565
|
+
private emitExpireTimestamp;
|
|
3631
3566
|
/**
|
|
3632
3567
|
* @hidden
|
|
3633
3568
|
* 延迟触发但错误
|
|
@@ -3635,7 +3570,6 @@ declare class VePlayer {
|
|
|
3635
3570
|
* @memberof VePlayer
|
|
3636
3571
|
*/
|
|
3637
3572
|
delayError: any[];
|
|
3638
|
-
private isFirstEmitted;
|
|
3639
3573
|
/**
|
|
3640
3574
|
* @hidden
|
|
3641
3575
|
* umd加载器
|
|
@@ -3655,7 +3589,6 @@ declare class VePlayer {
|
|
|
3655
3589
|
* @hidden
|
|
3656
3590
|
*/
|
|
3657
3591
|
static veStrategy: typeof VeStrategy;
|
|
3658
|
-
static preloader: Preloader;
|
|
3659
3592
|
/**
|
|
3660
3593
|
* @brief SDK 版本
|
|
3661
3594
|
* @type {*}
|
|
@@ -3671,6 +3604,14 @@ declare class VePlayer {
|
|
|
3671
3604
|
targetProfileLevel?: string;
|
|
3672
3605
|
}) => Promise<boolean>;
|
|
3673
3606
|
private vodLogCommon;
|
|
3607
|
+
/**
|
|
3608
|
+
* @hidden
|
|
3609
|
+
* 延时触发的events,即保证在palyer创建之后才触发
|
|
3610
|
+
*/
|
|
3611
|
+
delayEvents: Array<{
|
|
3612
|
+
name: string;
|
|
3613
|
+
payload: any;
|
|
3614
|
+
}>;
|
|
3674
3615
|
/** {zh}
|
|
3675
3616
|
* @brief 构造函数。
|
|
3676
3617
|
* @param configs 播放器实例化配置。
|
|
@@ -3695,7 +3636,7 @@ declare class VePlayer {
|
|
|
3695
3636
|
* @description 初始化过期检测
|
|
3696
3637
|
* @memberof VePlayer
|
|
3697
3638
|
*/
|
|
3698
|
-
|
|
3639
|
+
private _initCheckExpire;
|
|
3699
3640
|
/**
|
|
3700
3641
|
* @hidden
|
|
3701
3642
|
* @description 更新umdLoader 的配置
|
|
@@ -3718,19 +3659,13 @@ declare class VePlayer {
|
|
|
3718
3659
|
* @description 循环执行过期检测
|
|
3719
3660
|
* @memberof VePlayer
|
|
3720
3661
|
*/
|
|
3721
|
-
|
|
3662
|
+
private _onRepeat;
|
|
3722
3663
|
/**
|
|
3723
3664
|
* @hidden
|
|
3724
3665
|
* @brief 触发过期事件
|
|
3725
3666
|
* @memberof VePlayer
|
|
3726
3667
|
*/
|
|
3727
|
-
|
|
3728
|
-
/**
|
|
3729
|
-
* @hidden
|
|
3730
|
-
* @brief 地址获取时间
|
|
3731
|
-
* @memberof VePlayer
|
|
3732
|
-
*/
|
|
3733
|
-
getUrlTimestamp(url: string): void;
|
|
3668
|
+
private _emitExpireEvent;
|
|
3734
3669
|
/** {zh}
|
|
3735
3670
|
* @brief 监听事件。
|
|
3736
3671
|
* @memberof VePlayer
|
|
@@ -3787,7 +3722,7 @@ declare class VePlayer {
|
|
|
3787
3722
|
createPlayer(): Promise<PlayerCore>;
|
|
3788
3723
|
/** {zh}
|
|
3789
3724
|
* @hidden
|
|
3790
|
-
*
|
|
3725
|
+
* @brief 设置合并开发者的插件配置,如果开发者从初始化的configs里传了插件配置,则只用开发者的配置,并补齐其他参数
|
|
3791
3726
|
* @param {IPlayerConfig} finalOptions
|
|
3792
3727
|
* @return {void}
|
|
3793
3728
|
* @memberof VePlayer
|
|
@@ -3824,6 +3759,7 @@ declare class VePlayer {
|
|
|
3824
3759
|
DanmuPlugin?: any;
|
|
3825
3760
|
LiveSubtitlesIconPlugin?: any;
|
|
3826
3761
|
};
|
|
3762
|
+
private getStreamType;
|
|
3827
3763
|
/**
|
|
3828
3764
|
*
|
|
3829
3765
|
* @private
|
|
@@ -3854,7 +3790,8 @@ declare class VePlayer {
|
|
|
3854
3790
|
*
|
|
3855
3791
|
* @memberof VePlayer
|
|
3856
3792
|
*/
|
|
3857
|
-
|
|
3793
|
+
private _emitDelayError;
|
|
3794
|
+
private _emitDelayEvent;
|
|
3858
3795
|
/**
|
|
3859
3796
|
* @hidden
|
|
3860
3797
|
*
|
|
@@ -3870,19 +3807,22 @@ declare class VePlayer {
|
|
|
3870
3807
|
*/
|
|
3871
3808
|
private _mountingPlayerPanel;
|
|
3872
3809
|
/**
|
|
3873
|
-
*
|
|
3874
3810
|
*
|
|
3875
3811
|
* @private
|
|
3876
3812
|
* @return {*}
|
|
3877
3813
|
* @memberof VePlayer
|
|
3878
3814
|
*/
|
|
3879
3815
|
private _bindPlayerEvents;
|
|
3816
|
+
private _onError;
|
|
3880
3817
|
/** {zh}
|
|
3881
3818
|
* @private
|
|
3882
|
-
* @return {*}
|
|
3883
|
-
* @memberof VePlayer
|
|
3884
3819
|
*/
|
|
3885
|
-
private
|
|
3820
|
+
private _onMediaExpiredAction;
|
|
3821
|
+
/**
|
|
3822
|
+
* @brief 更新视频源,常用于地址过期时或者过期前更新视频地址及过期时间戳
|
|
3823
|
+
* @param source 视频资源配置,支持传入地址url、playList、getVideByToken以及过期检查的相关配置
|
|
3824
|
+
*/
|
|
3825
|
+
updateMediaSource(source: SourceConfig): Promise<void>;
|
|
3886
3826
|
/** {zh}
|
|
3887
3827
|
* @hidden
|
|
3888
3828
|
*
|
|
@@ -3941,25 +3881,25 @@ declare class VePlayer {
|
|
|
3941
3881
|
* @param config `playAuthToken` 配置。
|
|
3942
3882
|
*/
|
|
3943
3883
|
updateAuthToken(config: IPlayAuthTokenConfig): Promise<void>;
|
|
3884
|
+
private _playerPlayNext;
|
|
3944
3885
|
/** {zh}
|
|
3945
|
-
* @brief
|
|
3886
|
+
* @brief 返回当前视频的地址。
|
|
3887
|
+
* @notice 多source下,返回video的currentSrc,即实际使用的source。MSE 播放时返回blob地址。
|
|
3946
3888
|
* @memberof VePlayer
|
|
3947
3889
|
*/
|
|
3948
|
-
get src():
|
|
3890
|
+
get src(): string;
|
|
3949
3891
|
/** {zh}
|
|
3950
3892
|
* @brief 设置当前视频的地址
|
|
3951
3893
|
* @notes 会重新拉取新的视频,从0开始起播
|
|
3952
3894
|
* @memberof VePlayer
|
|
3953
3895
|
*/
|
|
3954
|
-
set src(url:
|
|
3896
|
+
set src(url: Url);
|
|
3955
3897
|
/** {zh}
|
|
3956
|
-
* @notes 更换后,会从更换前的时间点继续播放。
|
|
3957
|
-
* @return {Promise<void>}
|
|
3958
|
-
* @memberof VePlayer
|
|
3959
3898
|
* @brief 播放时更换视频 URL,以更换视频源。
|
|
3899
|
+
* @notes 更换后,会从更换前的时间点继续播放。
|
|
3960
3900
|
* @param url 视频播放地址。
|
|
3961
3901
|
*/
|
|
3962
|
-
switchURL(url:
|
|
3902
|
+
switchURL(url: Url): Promise<void>;
|
|
3963
3903
|
/** {zh}
|
|
3964
3904
|
* @memberof VePlayer
|
|
3965
3905
|
* @brief 针对不同格式的视频,重建播放器内核播放下一个视频。
|
|
@@ -3977,13 +3917,7 @@ declare class VePlayer {
|
|
|
3977
3917
|
* @param isNewVideo 是否为新视频。为 `false` 时,更换后,会从更换前的时间点继续播放。
|
|
3978
3918
|
*/
|
|
3979
3919
|
playNext(config: IPlayerConfig, isNewVideo?: boolean): Promise<any>;
|
|
3980
|
-
|
|
3981
|
-
* @hidden
|
|
3982
|
-
*
|
|
3983
|
-
* @return {*}
|
|
3984
|
-
* @memberof VePlayer
|
|
3985
|
-
*/
|
|
3986
|
-
resetUrlState(url: any): void;
|
|
3920
|
+
private _playNext;
|
|
3987
3921
|
/** {zh}
|
|
3988
3922
|
* @brief 销毁xgplayer实例
|
|
3989
3923
|
*
|
|
@@ -4007,7 +3941,7 @@ declare class VePlayer {
|
|
|
4007
3941
|
getSoftDecodingOption(isOpenSoftDecoding: boolean, url: string, type: string): Promise<{
|
|
4008
3942
|
mediaType?: string;
|
|
4009
3943
|
innerDegrade?: number;
|
|
4010
|
-
codecType?: CodecType
|
|
3944
|
+
codecType?: `${CodecType}`;
|
|
4011
3945
|
plugins?: any[];
|
|
4012
3946
|
}>;
|
|
4013
3947
|
/** {zh}
|
|
@@ -4770,11 +4704,11 @@ export declare const Events: {
|
|
|
4770
4704
|
*/
|
|
4771
4705
|
PLAYER_EXTEND_BUTTON: string;
|
|
4772
4706
|
/** {zh}
|
|
4773
|
-
* @brief
|
|
4707
|
+
* @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
|
|
4774
4708
|
*/
|
|
4775
4709
|
LONG_WAITING: string;
|
|
4776
4710
|
/** {zh}
|
|
4777
|
-
* @brief
|
|
4711
|
+
* @brief 发生频繁卡顿时触发。
|
|
4778
4712
|
*/
|
|
4779
4713
|
OFTEN_WAITING: string;
|
|
4780
4714
|
/** {zh}
|
|
@@ -4849,6 +4783,18 @@ export declare const Events: {
|
|
|
4849
4783
|
* @brief 播放列表播放项变更。
|
|
4850
4784
|
*/
|
|
4851
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;
|
|
4852
4798
|
/** {zh}
|
|
4853
4799
|
* @brief 播放器实例创建完成时触发。
|
|
4854
4800
|
*/
|
|
@@ -5038,9 +4984,14 @@ export declare const Events: {
|
|
|
5038
4984
|
*/
|
|
5039
4985
|
DURATION_CHANGE: string;
|
|
5040
4986
|
/** {zh}
|
|
4987
|
+
* @deprecated
|
|
5041
4988
|
* @brief 媒体被清空(初始化)时触发。
|
|
5042
4989
|
*/
|
|
5043
4990
|
EMPITED: string;
|
|
4991
|
+
/** {zh}
|
|
4992
|
+
* @brief 媒体被清空(初始化)时触发。
|
|
4993
|
+
*/
|
|
4994
|
+
EMPTIED: string;
|
|
5044
4995
|
/** {zh}
|
|
5045
4996
|
* @brief 视频播放完毕时触发。
|
|
5046
4997
|
*/
|
|
@@ -5356,11 +5307,11 @@ export declare const Event: {
|
|
|
5356
5307
|
*/
|
|
5357
5308
|
PLAYER_EXTEND_BUTTON: string;
|
|
5358
5309
|
/** {zh}
|
|
5359
|
-
* @brief
|
|
5310
|
+
* @brief 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。
|
|
5360
5311
|
*/
|
|
5361
5312
|
LONG_WAITING: string;
|
|
5362
5313
|
/** {zh}
|
|
5363
|
-
* @brief
|
|
5314
|
+
* @brief 发生频繁卡顿时触发。
|
|
5364
5315
|
*/
|
|
5365
5316
|
OFTEN_WAITING: string;
|
|
5366
5317
|
/** {zh}
|
|
@@ -5435,6 +5386,18 @@ export declare const Event: {
|
|
|
5435
5386
|
* @brief 播放列表播放项变更。
|
|
5436
5387
|
*/
|
|
5437
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;
|
|
5438
5401
|
};
|
|
5439
5402
|
};
|
|
5440
5403
|
export * from "xgplayer";
|