You need to enable JavaScript to run this app.
文档中心
视频直播

视频直播

复制全文
下载 pdf
SDK API
方法及属性
复制全文
下载 pdf
方法及属性

VePlayerLive

类型:class

属性

属性类型说明
playTimenumber只读 获取已经播放的时长,不包含暂停和等待时间,单位为秒。

readyState

0 | 2 | 1 | 3 | 4

只读 获取视频的就绪状态,其状态枚举值、枚举名称和说明如下:

  • 0:HAVE_NOTHING,没有关于媒体资源的可用信息
  • 1:HAVE_METADATA,已检索到足够多的媒体资源来初始化元数据, 快进/快退不会引发异常
  • 2:HAVE_CURRENT_DATA,当前播放位置的数据可用,但不足以播放下一帧
  • 3:HAVE_FUTURE_DATA,当前播放位置以及未来至少一小段时间的数据是可用的(至少有两帧以上的数据)
  • 4:HAVE_ENOUGH_DATA,有足够的数据可用,并且下载速率足够,媒体可以不间断地播放到最后
bufferedTimeRanges只读 获取当前已缓冲的时间范围。
playedTimeRanges只读 获取已经播放的音频/视频的时间范围。
cumulateTimenumber只读 设置/获取视频当前的播放时间,单位为 s。
isFocusedboolean只读 获取是否处于焦点状态,处于焦点状态会显示控制栏。
isFullscreenboolean只读 获取播放器是否处于全屏状态。
isCssFullscreenboolean只读 获取播放器是否处于网页全屏状态。

networkState

0 | 2 | 1 | 3

只读 获取视频的网络状态,其状态枚举值、枚举名称和说明如下:

  • 0:NETWORK_EMPTY,目前还没有数据,readyState 的值是 HAVE_NOTHING
  • 1:NETWORK_IDLE,HTMLMediaElement 处于活动状态并已选择资源,但未使用网络
  • 2:NETWORK_LOADING,浏览器正在下载 HTMLMediaElement 数据
  • 3:NETWORK_NO_SOURCE,未找到 HTMLMediaElement src。
pausedboolean只读 获取当前视频是否处于暂停状态。
endedboolean只读 获取当前视频是否播放结束。

state

number

只读 获取播放器当前所处的状态,其状态枚举值、枚举名称和说明如下:

  • 0:ERROR,播放出现错误
  • 1:INITIAL,初始化
  • 2:READY,配置/事件/插件等均已经初始化/绑定/实例化完成
  • 3:ATTACHING,进入媒体对象挂载阶段
  • 4:ATTACHED,媒体对象已经挂载到了 DOM 中
  • 5:NOTALLOW,播放被阻止
  • 6:RUNNING,已经成功起播进入播放流程
  • 7:ENDED,播放结束
  • 8:DESTROYED,播放器实例处于已被销毁
urlstring只读 获取当前播放视频的拉流地址。
sourcestring只读 获取当前播放视频的线路名称唯一标识(name)。
playerVersionstring只读 获取播放器 SDK 版本号。
definitionstring只读 获取当前播放视频的清晰度唯一标识(definition)。
crossOriginstring获取和设置播放器的跨域配置信息,更多信息参考 crossorigin 属性介绍。
volumenumber获取和设置视频的音量,取值范围为 [0,1]。

muted

boolean

获取和设置视频静音状态。

  • true:静音
  • false:非静音
langstring获取和设置当前语言。

openLog()

调用此方法开启直播日志上报。

类型

() => void

closeLog()

调用此方法关闭直播日志上报。

类型

() => void

openInfoPanel()

调用此方法将打开直播信息面板,面板将展示拉流格式、帧率、码率、GOP、视频分辨率、编码方式、Buffer 水位、播放进度等基础信息。如果当前是软解,还会显示软解解码效率和解码消耗。

类型

() => void

closeInfoPanel()

调用此方法关闭直播信息面板。

类型

() => void

openAbr()

打开码率自适应(ABR)切换功能。

类型

() => void

closeAbr()

关闭码率自适应(ABR)切换功能。

类型

() => void

updateDrmConfig()

调用此方法更新 DRM 配置。

类型

(config: Drm) => Promise<void | undefined>

参数

名称
类型
是否必选
默认值
说明
config

DRM 配置对象,包含 Fairplay DRM 的相关设置。

返回值

Promise<void | undefined>

switchAbr()

修改 ABR 配置,包含修改是否开启 ABR 功能,和修改其他清晰度。

类型

(options: { enable: boolean; bitrate: number;}) => void

参数

名称
类型
是否必选
默认值
说明
options
-
-

ABR 的配置。

enable
boolean

是否开启 ABR 功能。

  • true:开启
  • false:关闭
bitrate
number

切换自适应码率直播流对应的码率。

返回值

getRTMNetWorkInfo()

获取 RTM 拉流的网络评估信息。

类型

() => RTMNetWorkInfo

返回值

RTMNetWorkInfo

getRTMStats()

获取 RTM 拉流的播放信息。

类型

() => Promise<StatsSnapShoot>

返回值

Promise<StatsSnapShoot>

getFLVStats()

获取 FLV 拉流的播放信息。

类型

() => FlvStats

返回值

FlvStats

updatePlaylist()

调用此方法更新播放列表,支持更新源、清晰度等相关信息。

类型

(playlist: Source[], target?: string | { definition?: string; source?: string;}, needUpdateProtocol?: boolean) => Promise<void>

参数

名称
类型
是否必选
默认值
说明
playlist

播放列表,包含多个 Source 类型的元素。

target
-
-

可选的目标配置项,可以指定清晰度或源。提供这些信息可以帮助更新特定清晰度或线路的播放源。

definition
string | undefined

清晰度唯一标识。

source
string | undefined

线路的唯一标识。

needUpdateProtocol
boolean
true

是否需要更新协议。

  • true:强制更新协议,以确保播放配置或源的兼容性。
  • false:不更新协议,继续使用当前配置。

返回值

Promise<void>

switch()

调用此方法切换拉流地址、线路、清晰度。

类型

(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

是否启用无缝切换。

  • true:启用无缝切换,保证播放过程中不中断。
  • false:不启用无缝切换,可能会出现播放中断。

返回值

Promise<ExposedDefinition>

once()

调用此方法监听指定事件,事件处理函数只执行一次。

类型

(event: string, callback: (data?: any) => any) => void

参数

名称
类型
是否必选
默认值
说明
event
string

表示事件的名称。

callback
(data?: any) => any

表示事件的回调函数。

off()

调用此方法解绑或移除指定事件的事件监听。

类型

(event: string, callback: (data?: any) => any) => void

参数

名称
类型
是否必选
默认值
说明
event
string

表示事件的名称。

callback
(data?: any) => any

表示事件的回调函数。

emit()

调用此方法触发指定事件。

类型

(event: string, data?: any) => void

参数

名称
类型
是否必选
默认值
说明
event
string

表示事件的名称。

data
any

事件信息。

offAll()

调用此方法解绑或移除指定事件的所有事件监听。

类型

() => void

on()

调用此方法监听指定事件。

类型

(event: string, callback: (data?: any) => any) => void

参数

名称
类型
是否必选
默认值
说明
event
string

表示事件名称。

callback
(data?: any) => any

表示事件的回调函数。

play()

调用此方法开始播放。

类型

() => any

返回值

any

pause()

调用此方法暂停播放。

类型

() => void

requestPIP()

调用此方法打开画中画。

类型

() => void

exitPIP()

调用此方法关闭画中画。

类型

() => void

retry()

调用此方法重新拉流。

类型

() => void

focus()

播放器获取焦点,调用该方法 veplayer.isFocused 将会变为 true,并触发 PLAYER_FOCUS 事件。

类型

(data?: { autoHide?: boolean; delay?: number;}) => void

参数

名称
类型
是否必选
默认值
说明
data
-
-

播放器获取焦点配置信息。

autoHide
boolean | undefined
true

是否需要自动失焦。

  • true:启用自动失焦,经过指定的延迟时间后,自动调用 blur() 方法进行失焦。
  • false:禁用自动失焦,不会在延迟时间后自动调用 blur() 方法。
delay
number | undefined
3000

自动失焦的延迟时间,单位为毫秒。在 autoHidetrue 时生效。

blur()

播放器失去焦点,调用该方法 veplayer.isFocused 将会变为 false,并触发 PLAYER_BLUR 事件。

类型

(data?: { ignorePaused?: boolean;}) => void

参数

名称
类型
是否必选
默认值
说明
data
-
-

播放器失去焦点配置信息。

ignorePaused
boolean | undefined
false

播放器在暂停时是否保留焦点状态。默认值为 true,即播放器暂停时不会自动失焦。

canPlayType()

判断浏览器是否支持播放格式。

类型

(type: string) => boolean

参数

名称
类型
是否必选
默认值
说明
type
string

播放格式。

返回值

boolean

requestFullscreen()

调用此方法进入系统全屏状态。如果该方法调用的时候处于网页全屏状态会自动退出网页全屏,下发事件 Events.FULLSCREEN_CHANGE

类型

(el?: HTMLElement) => Promise<void>

参数

名称
类型
是否必选
默认值
说明
el
HTMLElement | undefined

全屏作用的 DOM 节点。

返回值

Promise<void>

exitFullscreen()

调用此方法退出系统全屏状态,调用该方法 veplayer.isFullscreen 将会变为 false,并触发 Events.FULLSCREEN_CHANGE 事件。

类型

(el?: HTMLElement) => Promise<void>

参数

名称
类型
是否必选
默认值
说明
el
HTMLElement | undefined

全屏作用的 DOM 节点。

返回值

Promise<void>

requestCssFullscreen()

调用此方法进入网页样式全屏状态,播放器进入网页全屏,利用 CSS 模拟实现全屏效果。如果该接口调用的时候处于全屏状态,会自动退出全屏,下发事件 Events.CSS_FULLSCREEN_CHANGE

类型

(el?: HTMLElement) => void

参数

名称
类型
是否必选
默认值
说明
el
HTMLElement | undefined

全屏作用的 DOM 节点。

exitCssFullscreen()

调用此方法退出网页样式全屏状态。 调用该方法 veplayer.isFullscreen 将会变为 false,并触发 Events.CSS_FULLSCREEN_CHANGE 事件。

类型

() => void

registerPlugin()

调用此方法在当前播放器上注册指定插件。

类型

(plugin: Function | { plugin: Function; options: object;}, config?: { [propName: string]: any; } | undefined) => any

参数

名称
类型
是否必选
默认值
说明
plugin
-
-

插件构造函数。

plugin
Function

插件构造函数。

options
object

插件配置参数。

config
{ [propName: string]: any; } | undefined

插件的配置列表。

返回值

any

unRegisterPlugin()

调用此方法在当前播放器上销毁/注销指定插件。

类型

(plugin: any) => void

参数

名称
类型
是否必选
默认值
说明
plugin
any

插件实例或者插件名称。

showIcon()

调用此接口显示指定插件图标。

类型

(pluginNames: string[]) => void

参数

名称
类型
是否必选
默认值
说明
pluginNames
string[]

插件名称。

hideIcon()

调用此接口隐藏指定插件图标。

类型

(pluginNames: string[]) => void

参数

名称
类型
是否必选
默认值
说明
pluginNames
string[]

插件名称。

destroy()

调用此方法销毁播放器实例。

类型

() => void

createLivePlayer()

创建直播播放器。

类型

(options?: LiveVePlayerOptions) => Promise<VePlayerLive>

参数

名称
类型
是否必选
默认值
说明
options

配置播放器参数。

返回值

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);
});;

prepare()

初始化播放器策略。

类型

(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: '***',
  },
 });
});

isRTMSupported()

当前浏览器是否支持 RTM 流播放。

类型

() => Promise<boolean>

返回值

Promise<boolean>

isRTMSupportCodec()

当前浏览器是否支持 H264 RTM 流播放。

类型

(codec?: string) => Promise<boolean>

参数

名称
类型
是否必选
默认值
说明
codec
string
'h264'

播放格式,目前只支持 H264

返回值

Promise<boolean>

isMseSupported()

检查当前浏览器是否支持 MSE(MediaSource Extends)API,并检查 MSE API 是否支持传入的视频编码信息(MIME 格式)。

说明

使用场景:检查 PC 端浏览器和 Android 端浏览器是否支持传入的编码信息。

类型

(codec?: string | undefined) => boolean

参数

名称
类型
是否必选
默认值
说明
codec
string | undefined
'h264'

待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如video/mp4;codecs="av01.0.01M.08"。 您也可以使用如下参数值快速检查是否支持 H.264 和 H.265 视频编码格式。

  • Codec.H264(默认值):检查 MSE 是否支持 H.264 编码格式,如果支持可满足大部分 H.264 视频播放。
  • Codec.H265:检查 MSE 是否支持 H.265 编码格式,如果支持可满足大部分 H.265 视频播放。

返回值

boolean

isSoftDecodeSupported()

当前浏览器是否支持软解。

类型

() => Promise<boolean>

返回值

Promise<boolean>

isMMSSupported()

判断当前浏览器是否支持 MMS(ManagedMediaSource) API,并检查 MMS API 是否支持传入的视频编码信息(MIME 格式)。

说明

  • 使用场景:检查 iOS 端 Safari 浏览器和 Chrome 浏览器是否支持传入的编码信息。
  • Safari 17.1 以上版本浏览器开始支持 MMS。

类型

(codec?: string | undefined) => any

参数

名称
类型
是否必选
默认值
说明
codec
string | undefined
'h264'

待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如video/mp4;codecs="av01.0.01M.08"。 您也可以使用如下参数值快速检查是否支持 H.264 和 H.265 视频编码格式。

  • Codec.H264(默认值):检查 MMS 是否支持 H.264 编码格式,如果支持可满足大部分 H.264 视频播放。
  • Codec.H265:检查 MMS 是否支持 H.265 编码格式。如果支持可满足大部分 H.265 视频播放。

返回值

any

isFLVSupported()

检查当前浏览器是否支持 FLV 格式流的编码信息。

说明

  • 在 PC 端或 Android 端浏览器调用此方法,实现方法与 isMseSupported 方法实现相同。
  • 在 iOS 端浏览器调用此方法,实现与 isMMSSupported 方法实现相同。

类型

(codec?: string | undefined) => boolean

参数

名称
类型
是否必选
默认值
说明
codec
string | undefined
'h264'

待检查的媒体类型和编解码信息字符串,使用 MIME 格式表示,例如video/mp4;codecs="av01.0.01M.08"。 您也可以使用如下参数值快速检查是否支持 H.264 和 H.265 视频编码格式。

  • Codec.H264(默认值):检查是否支持 H.264 编码格式,如果支持可满足大部分 H.264 视频播放。
  • Codec.H265:检查是否支持 H.265 编码格式。如果支持可满足大部分 H.265 视频播放。

返回值

boolean

isRTMSeiSupported()

检查当前浏览器是否支持获取 RTM 流的 SEI(Supplemental Enhancement Information,补充增强信息)消息。

类型

() => Promise<boolean>

返回值

Promise<boolean>

  • true:支持获取 RTM 流的 SEI 消息。
  • false:不支持获取 RTM 流的 SEI 消息。

setLicenseConfig()

配置 SDK License。

类型

(params: LicenseConfig) => Promise<void>

参数

参数名类型说明
paramsLicenseConfigLicense 配置参数。
最近更新时间:2026.06.06 22:37:52
这个页面对您有帮助吗?
有用
有用
无用
无用