类型:class
| 属性 | 类型 | 说明 |
|---|---|---|
| playTime | number | 只读 获取已经播放的时长,不包含暂停和等待时间,单位为秒。 |
readyState | 0 | 2 | 1 | 3 | 4 |
|
| buffered | TimeRanges | 只读 获取当前已缓冲的时间范围。 |
| played | TimeRanges | 只读 获取已经播放的音频/视频的时间范围。 |
| cumulateTime | number | 只读 设置/获取视频当前的播放时间,单位为 s。 |
| isFocused | boolean | 只读 获取是否处于焦点状态,处于焦点状态会显示控制栏。 |
| isFullscreen | boolean | 只读 获取播放器是否处于全屏状态。 |
| isCssFullscreen | boolean | 只读 获取播放器是否处于网页全屏状态。 |
networkState | 0 | 2 | 1 | 3 |
|
| paused | boolean | 只读 获取当前视频是否处于暂停状态。 |
| ended | boolean | 只读 获取当前视频是否播放结束。 |
state | number |
|
| url | string | 只读 获取当前播放视频的拉流地址。 |
| source | string | 只读 获取当前播放视频的线路名称唯一标识(name)。 |
| playerVersion | string | 只读 获取播放器 SDK 版本号。 |
| definition | string | 只读 获取当前播放视频的清晰度唯一标识(definition)。 |
| crossOrigin | string | 获取和设置播放器的跨域配置信息,更多信息参考 crossorigin 属性介绍。 |
| volume | number | 获取和设置视频的音量,取值范围为 [0,1]。 |
muted | boolean | 获取和设置视频静音状态。
|
| lang | string | 获取和设置当前语言。 |
调用此方法开启直播日志上报。
类型
() => void
调用此方法关闭直播日志上报。
类型
() => void
调用此方法将打开直播信息面板,面板将展示拉流格式、帧率、码率、GOP、视频分辨率、编码方式、Buffer 水位、播放进度等基础信息。如果当前是软解,还会显示软解解码效率和解码消耗。
类型
() => void
调用此方法关闭直播信息面板。
类型
() => void
打开码率自适应(ABR)切换功能。
类型
() => void
关闭码率自适应(ABR)切换功能。
类型
() => void
调用此方法更新 DRM 配置。
类型
(config: Drm) => Promise<void | undefined>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
config | 是 | 无 | DRM 配置对象,包含 Fairplay DRM 的相关设置。 |
返回值
Promise<void | undefined>
修改 ABR 配置,包含修改是否开启 ABR 功能,和修改其他清晰度。
类型
(options: { enable: boolean; bitrate: number;}) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
options | - | 是 | - | ABR 的配置。 |
enable | boolean | 是 | 无 | 是否开启 ABR 功能。
|
bitrate | number | 是 | 无 | 切换自适应码率直播流对应的码率。 |
返回值
获取 RTM 拉流的网络评估信息。
类型
() => RTMNetWorkInfo
返回值
获取 RTM 拉流的播放信息。
类型
() => Promise<StatsSnapShoot>
返回值
Promise<StatsSnapShoot>
获取 FLV 拉流的播放信息。
类型
() => FlvStats
返回值
调用此方法更新播放列表,支持更新源、清晰度等相关信息。
类型
(playlist: Source[], target?: string | { definition?: string; source?: string;}, needUpdateProtocol?: boolean) => Promise<void>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
playlist | Source[] | 是 | 无 | 播放列表,包含多个 |
target | - | 否 | - | 可选的目标配置项,可以指定清晰度或源。提供这些信息可以帮助更新特定清晰度或线路的播放源。 |
definition | string | undefined | 否 | 无 | 清晰度唯一标识。 |
source | string | undefined | 否 | 无 | 线路的唯一标识。 |
needUpdateProtocol | boolean | 是 | true | 是否需要更新协议。
|
返回值
Promise<void>
调用此方法切换拉流地址、线路、清晰度。
类型
(target: string | { definition?: string; source?: string;}, options?: { fallbackToFirstDefinition?: boolean; seamless?: boolean;}) => Promise<ExposedDefinition>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
target | - | 是 | - | 目标地址,可以是播放地址,也可以是线路和清晰度。 |
definition | string | undefined | 否 | 无 | 清晰度的唯一标识。 |
source | string | undefined | 否 | 无 | 线路的唯一标识。 |
options | - | 否 | - | 更多配置信息。 |
fallbackToFirstDefinition | boolean | undefined | 否 | false | 清晰度 definition 配置无效时,是否降级到播放列表第一个清晰度地址。 |
seamless | boolean | undefined | 否 | false | 是否启用无缝切换。
|
返回值
Promise<ExposedDefinition>
调用此方法监听指定事件,事件处理函数只执行一次。
类型
(event: string, callback: (data?: any) => any) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
event | string | 是 | 无 | 表示事件的名称。 |
callback | (data?: any) => any | 是 | 无 | 表示事件的回调函数。 |
调用此方法解绑或移除指定事件的事件监听。
类型
(event: string, callback: (data?: any) => any) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
event | string | 是 | 无 | 表示事件的名称。 |
callback | (data?: any) => any | 是 | 无 | 表示事件的回调函数。 |
调用此方法触发指定事件。
类型
(event: string, data?: any) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
event | string | 是 | 无 | 表示事件的名称。 |
data | any | 是 | 无 | 事件信息。 |
调用此方法解绑或移除指定事件的所有事件监听。
类型
() => void
调用此方法监听指定事件。
类型
(event: string, callback: (data?: any) => any) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
event | string | 是 | 无 | 表示事件名称。 |
callback | (data?: any) => any | 是 | 无 | 表示事件的回调函数。 |
调用此方法开始播放。
类型
() => any
返回值
any
调用此方法暂停播放。
类型
() => void
调用此方法打开画中画。
类型
() => void
调用此方法关闭画中画。
类型
() => void
调用此方法重新拉流。
类型
() => void
播放器获取焦点,调用该方法 veplayer.isFocused 将会变为 true,并触发 PLAYER_FOCUS 事件。
类型
(data?: { autoHide?: boolean; delay?: number;}) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
data | - | 否 | - | 播放器获取焦点配置信息。 |
autoHide | boolean | undefined | 否 | true | 是否需要自动失焦。
|
delay | number | undefined | 否 | 3000 | 自动失焦的延迟时间,单位为毫秒。在 |
播放器失去焦点,调用该方法 veplayer.isFocused 将会变为 false,并触发 PLAYER_BLUR 事件。
类型
(data?: { ignorePaused?: boolean;}) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
data | - | 否 | - | 播放器失去焦点配置信息。 |
ignorePaused | boolean | undefined | 否 | false | 播放器在暂停时是否保留焦点状态。默认值为 |
判断浏览器是否支持播放格式。
类型
(type: string) => boolean
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
type | string | 是 | 无 | 播放格式。 |
返回值
boolean
调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 Events.FULLSCREEN_CHANGE。
类型
(el?: HTMLElement) => Promise<void>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
el | HTMLElement | undefined | 否 | 无 | 全屏作用的 DOM 节点。 |
返回值
Promise<void>
调用此方法退出系统全屏状态,调用该方法 veplayer.isFullscreen 将会变为 false,并触发 Events.FULLSCREEN_CHANGE 事件。
类型
(el?: HTMLElement) => Promise<void>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
el | HTMLElement | undefined | 否 | 无 | 全屏作用的 DOM 节点。 |
返回值
Promise<void>
调用此方法进入网页样式全屏状态,播放器进入网页全屏,利用 CSS 模拟实现全屏效果。如果该接口调用的时候处于全屏状态,会自动退出全屏,下发事件 Events.CSS_FULLSCREEN_CHANGE。
类型
(el?: HTMLElement) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
el | HTMLElement | undefined | 否 | 无 | 全屏作用的 DOM 节点。 |
调用此方法退出网页样式全屏状态。 调用该方法 veplayer.isFullscreen 将会变为 false,并触发 Events.CSS_FULLSCREEN_CHANGE 事件。
类型
() => void
调用此方法在当前播放器上注册指定插件。
类型
(plugin: Function | { plugin: Function; options: object;}, config?: { [propName: string]: any; } | undefined) => any
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
plugin | - | 是 | - | 插件构造函数。 |
plugin | Function | 是 | 无 | 插件构造函数。 |
options | object | 是 | 无 | 插件配置参数。 |
config | { [propName: string]: any; } | undefined | 否 | 无 | 插件的配置列表。 |
返回值
any
调用此方法在当前播放器上销毁/注销指定插件。
类型
(plugin: any) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
plugin | any | 是 | 无 | 插件实例或者插件名称。 |
调用此接口显示指定插件图标。
类型
(pluginNames: string[]) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
pluginNames | string[] | 是 | 无 | 插件名称。 |
调用此接口隐藏指定插件图标。
类型
(pluginNames: string[]) => void
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
pluginNames | string[] | 是 | 无 | 插件名称。 |
调用此方法销毁播放器实例。
类型
() => void
创建直播播放器。
类型
(options?: LiveVePlayerOptions) => Promise<VePlayerLive>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
options | LiveVePlayerOptions | undefined | 否 | 无 | 配置播放器参数。 |
返回值
Promise<VePlayerLive> 播放器实例。
示例
VePlayer.createLivePlayer({ height: 360, url: options.url, }).then(function (veplayer) { veplayer.on(VePlayer.live.Events.CANPLAY, function () { console.log('监听到 canplay 事件') }); }).catch(error => { console.log('创建播放器失败,报错信息:', error); });;
初始化播放器策略。
类型
(options: PrepareOptions) => Promise<VeStrategyManager | undefined>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
options | 是 | 无 | 配置策略参数。 |
返回值
Promise<VeStrategyManager | undefined>
示例
live.prepare({ appId: '***', userId: '***', strategies: { rtmAdaptiveBuffer: true, }, }).then(function () { VePlayer.createLivePlayer({ height: '300px', url: 'https://pulldomain.com/appname/streamname.sdp', logger: { userId: '***', appId: '***', }, }); });
当前浏览器是否支持 RTM 流播放。
类型
() => Promise<boolean>
返回值
Promise<boolean>
当前浏览器是否支持 H264 RTM 流播放。
类型
(codec?: string) => Promise<boolean>
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
codec | string | 是 | 'h264' | 播放格式,目前只支持 |
返回值
Promise<boolean>
检查当前浏览器是否支持 MSE(MediaSource Extends)API,并检查 MSE API 是否支持传入的视频编码信息(MIME 格式)。
说明
使用场景:检查 PC 端浏览器和 Android 端浏览器是否支持传入的编码信息。
类型
(codec?: string | undefined) => boolean
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
codec | string | undefined | 否 | 'h264' | 待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如
|
返回值
boolean
当前浏览器是否支持软解。
类型
() => Promise<boolean>
返回值
Promise<boolean>
判断当前浏览器是否支持 MMS(ManagedMediaSource) API,并检查 MMS API 是否支持传入的视频编码信息(MIME 格式)。
说明
类型
(codec?: string | undefined) => any
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
codec | string | undefined | 否 | 'h264' | 待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如
|
返回值
any
检查当前浏览器是否支持 FLV 格式流的编码信息。
说明
类型
(codec?: string | undefined) => boolean
参数
名称 | 类型 | 是否必选 | 默认值 | 说明 |
|---|---|---|---|---|
codec | string | undefined | 否 | 'h264' | 待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如
|
返回值
boolean
检查当前浏览器是否支持获取 RTM 流的 SEI(Supplemental Enhancement Information,补充增强信息)消息。
类型
() => Promise<boolean>
返回值
Promise<boolean>
true:支持获取 RTM 流的 SEI 消息。false:不支持获取 RTM 流的 SEI 消息。配置 SDK License。
类型
(params: LicenseConfig) => Promise<void>
参数
| 参数名 | 类型 | 说明 |
|---|---|---|
params | LicenseConfig | License 配置参数。 |