Player
Last updated
Last updated
本文档主要提供播放器模块下的播放器使用方式 Api 文档。
通过 setupPlayer
创建观看页的播放器。
lowLatency
参数负责控制播放器是否使用无延迟播放,开启后若当前为无延迟频道并且设备支持无延迟播放则使用无延迟进行播放,开发者可通过 supportLowLatency 方法判断当前环境和频道是否支持无延迟。
通过 PlayerEvents.PlayerInited 监听播放器创建并初始化完成事件,当触发该事件后即可调用播放器模块的其他方法,如:play、pause。
Api 方法: setupPlayer(options: SetupPlayerOptions): Promise<void>
参数说明:
options:创建参数,SetupPlayerOptions
类型,必传,详细类型说明如下
参数名 | 说明 | 类型 | 必须 | 默认值 |
---|---|---|---|---|
示例:
播放器模块会保存播放器的状态信息,通过 getPlayerInfo
方法获取当前播放的所有状态。
Api 方法: getPlayerInfo(): PlayerStoreInfo
返回值说明: 播放器信息,PlayerStoreInfo
类型,详细类型说明如下
示例:
通过 supportLowLatency
方法获取当前环境和频道是否支持无延迟观看。
Api 方法: supportLowLatency(): SupportResult
返回值说明: 支持结果,SupportResult
类型
示例:
通过 play
方法触发播放器播放直播流或视频。
Api 方法: play(): void
示例:
Api 方法: freezePlay(isFreeze: boolean): void
参数说明:
isFreeze:undefined,boolean
类型,必传
示例:
通过 pause
方法暂停视频播放。
Api 方法: pause(): void
示例:
通过 stop
方法停止视频拉流,暂支持无延迟停止拉流 可通过 play
方法恢复播放
Api 方法: stop(): void
示例:
通过 supportRefresh
方法判断当前是否支持刷新直播流,判断条件:
频道正在直播
播放器初始化完成
非无延迟频道
当前用户未连麦
Api 方法: supportRefresh(): SupportResult
返回值说明: 支持结果,SupportResult
类型
示例:
通过 refresh
刷新当前直播流,注意需要根据 supportRefresh 方法或 getPlayerInfo 方法判断是否当前是否支持刷新直播流。
Api 方法: refresh(): void
示例:
通过 setVolume
方法设置当前播放器视频的音量。
Api 方法: setVolume(volume?: number): void
参数说明:
volume:音量,范围:0~1,number
类型,选传,默认 1
示例:
通过 getCurrentVolume
获取当前播放器的视频音量,除了该 Api 外你也可以通过 playerInfo
获取当前音量。
Api 方法: getCurrentVolume(): number
返回值说明: 音量,范围:0~1
示例:
通过 addBarrage
添加弹幕,在创建播放器传入 barrageAutoAdd
为 true 时,播放器模块会自动监听聊天消息事件,当有观众发言时会自动将消息文本插入到弹幕中。
Api 方法: addBarrage(options: BarrageAddOptions): void
参数说明:
options:弹幕参数,BarrageAddOptions
类型,必传
示例:
创建播放器时传入 barrageEnabled
为 true 时,通过 setBarrageShow
方法切换弹幕都显示和隐藏状态。
Api 方法: setBarrageShow(show: boolean): void
参数说明:
show:弹幕显示状态,boolean
类型,必传
示例:
通过 supportBarrageSpeed
获取播放器是否支持弹幕速度切换。
Api 方法: supportBarrageSpeed(): SupportResult
返回值说明: SupportResult
类型
示例:
当观众想要显示更快或更慢的弹幕速度时,可调用 setBarrageSpeed
设置弹幕滚动速度。 注意播放器模块会记录用户切换的弹幕速度,调用 setupPlayer
没有传入 barrageSpeed
时会优先使用本地缓存的速度。
注意需要通过 supportBarrageSpeed 方法获取当前播放器是否支持弹幕速度切换。
弹幕速度值最大不得超过 400
Api 方法: setBarrageSpeed(speed: number): void
参数说明:
speed:弹幕速度,number
类型,必传
示例:
Api 方法: supportBarrageSize(): SupportResult
返回值说明: SupportResult
类型
示例:
Api 方法: setBarrageSize(size: number): void
参数说明:
size:弹幕字号,number
类型,必传
示例:
Api 方法: supportBarrageLocation(): SupportResult
返回值说明: SupportResult
类型
示例:
Api 方法: getBarrageLocationSetting(): BarrageLocationInfo[]
返回值说明: BarrageLocationInfo[]
类型
示例:
Api 方法: setBarrageLocation(index: number): void
参数说明:
index:切换弹幕位置的ID,number
类型,必传
示例:
Api 方法: supportBarrageAlpha(): SupportResult
返回值说明: SupportResult
类型
示例:
当观众想要弹幕文本显示不同的透明度,可调用 setBarrageAlpha
设置弹幕文本的透明度。
注意需要通过 supportBarrageAlpha 方法获取当前播放器是否支持弹幕透明度切换。
Api 方法: setBarrageAlpha(alpha: number): void
参数说明:
alpha:切换弹幕透明度, 取值范围0~100,number
类型,必传
示例:
在点击全屏按钮,实现网页全屏或者css旋转横屏场景下需要更新弹幕区域显示高度
Api 方法: resizeBarrage(): void
通过 getLineCount
获取当前播放器可切换的总线路数,除了该 Api 外你也可以通过 playerInfo
获取总线路数。
Api 方法: getLineCount(): number
返回值说明: 可切换的线路总数
示例:
当用户点击切换线路时,通过 changeLine
方法切换数,线路总数可调用 getLineCount 获取。
Api 方法: changeLine(line: number): void
参数说明:
line:线路索引,number
类型,必传
示例:
通过 getCurrentLine
获取当前播放器的线路,除了该 Api 外你也可以通过 playerInfo
获取总线路数。
Api 方法: getCurrentLine(): number
返回值说明: 当前线路索引(从 0 开始)
示例:
通过 getQualityLevels
方法获取当前播放器可选的清晰度列表,除了该 Api 外你也可以通过 playerInfo
获取清晰度列表,清晰度类型可见 QualityLevelType。
Api 方法: getQualityLevels(): QualityLevelItem[]
返回值说明: 清晰度级别列表,QualityLevelItem[]
类型
示例:
获取清晰度列表(getQualityLevels)后,通过清晰度节点的 level
字段设置清晰度。
Api 方法: changeQualityLevel(level: number): void
参数说明:
level:清晰度级别,number
类型,必传
示例:
通过 getCurrentQualityLevel
方法获取当前播放器所在的清晰度级别,除了该 Api 外你也可以通过 playerInfo
获取清晰度级别。
Api 方法: getCurrentQualityLevel(): number
返回值说明: 清晰度级别
示例:
通过 getRateList
获取当前播放器可选的倍速列表,除了该 Api 外你也可以通过 playerInfo
获取倍速列表。
Api 方法: getRateList(): number[]
返回值说明: 可选的倍速列表,number[]
类型
示例:
获取倍速列表后通过 changeRate
切换倍速。
Api 方法: changeRate(rate: number): void
参数说明:
rate:倍速,number
类型,必传
示例:
通过 getCurrentRate
获取播放器的倍速。
Api 方法: getCurrentRate(): number
返回值说明: 播放器倍速
示例:
在回放下,通过 getCurrentTime
获取播放器的回放播放时间,除了该 Api 外你也可以通过 playerInfo
获取播放时间,如果当前播放的是直播流,该方法固定返回 0。
Api 方法: getCurrentTime(): number
返回值说明: 播放时间,单位秒
示例:
在回放下,通过 getDurationTime
获取播放器的回放总时长,除了该 Api 外你也可以通过 playerInfo
获取回放总时长,如果当前播放的是直播流,该方法固定返回 0。
Api 方法: getDurationTime(): number
返回值说明: 回放总时长,单位秒
示例:
当观众拖拽回放进度条时,通过 seekVideo
设置回放播放进度。
Api 方法: seekVideo(time: number): void
参数说明:
time:播放时间,单位秒,number
类型,必传
示例:
Api 方法: supportPlaybackVideo(): SupportResult
返回值说明: SupportResult
类型
从 v1.0.0 版本开始通过观看页 SDK 内部流程,会自行在直播结束后自动尝试切回放
Api 方法: getAutoChangePlaybackEnabled(): boolean
通过 changePlayback
切换回放视频。
Api 方法: changePlayback(playbackOptions: SetupPlayerPlaybackOptions): Promise<void>
参数说明:
playbackOptions:回放参数,SetupPlayerPlaybackOptions
类型,必传
示例:
Api 方法: setPlayerReplaySubtitleSelectConfig(config: SubtitleSelectBtnConfig): void
参数说明:
config:undefined,SubtitleSelectBtnConfig
类型,必传,详细类型说明如下
用于获取管理后台设置的播放器信息。
fullScreenMode 需要在 PlayerEvents.PlayerInited 触发后获取才是最终值
Api 方法: getPlayerSetting(): PlayerSetting
返回值说明: 播放器设置,PlayerSetting
类型,详细类型说明如下
示例:
用于获取管理后台设置的播放器 logo 信息。
从 v1.2.0 开始可以通过 PlvPlayerModule.generateDefaultPlayerLogoSetting()
来获取默认配置
Api 方法: getPlayerLogoSetting(): PlayerLogoSetting
返回值说明: 播放器 logo 设置,PlayerLogoSetting
类型,详细类型说明如下
示例:
用于获取管理后台设置的播放器暖场信息,注意暖场设置有一定延迟,需要通过 PlayerEvents.PlayerWarmUpSettingChange 事件监听信息更新。
Api 方法: getPlayerWarmUpSetting(): PlayerWarmUpSetting
返回值说明: 播放器暖场设置,PlayerWarmUpSetting
类型,详细类型说明如下
示例:
通过 supportLiveTimeShift
获取播放器否支持直播时移
Api 方法: supportLiveTimeShift(): SupportResult
返回值说明: SupportResult
类型
示例:
通过 supportTimeAxisMark
获取播放器是否支持时间轴标记。注意,直播打点需要直播时移也开启了,才能正常返回 true
Api 方法: supportTimeAxisMark(): SupportResult
返回值说明: SupportResult
类型
示例:
通过 changeSubtitleSkinShow
改变实时字幕播放器的开关展示
Api 方法: changeSubtitleSkinShow(show: boolean): void
参数说明:
show:undefined,boolean
类型,必传
返回值说明: void
示例:
Api 方法: getPIPEnabled(): boolean
Api 方法: getPIPForIOSEnabled(): boolean
页面或组件销毁前调用 destroyPlayer
销毁播放器。
Api 方法: destroyPlayer(): Promise<void>
示例:
属性名 | 说明 | 类型 |
---|---|---|
参数名 | 说明 | 类型 | 必须 | 默认值 |
---|---|---|---|---|
属性名 | 说明 | 类型 |
---|---|---|
属性名 | 说明 | 类型 |
---|---|---|
属性名 | 说明 | 类型 |
---|---|---|
container
创建容器
HTMLDivElement
是
-
lowLatency
是否使用无延迟播放
boolean
否
false
playbackOptions
回放参数
SetupPlayerPlaybackOptions
否
-
autoplay
是否自动播放
boolean
否
根据后台设置
barrageEnabled
弹幕功能开关
boolean
否
根据后台设置
barrageShow
弹幕默认是否显示
boolean
否
根据后台设置
barrageSpeed
弹幕速度
number
否
根据后台设置
barrageSize
弹幕字号
number
否
根据后台设置
barrageDirection
弹幕位置对应的显示方向
IDirection
否
默认顶部, 自上向下
barragePercent
弹幕位置对应的显示百分比, 取值范围0~1
number
否
默认顶部, 1/4
barrageLocationId
弹幕位置对应的ID
number
否
默认顶部, 0
barrageAlpha
弹幕透明度, 取值范围0~100
number
否
默认80
barrageAutoAdd
自动监听消息事件添加弹幕
boolean
否
true
language
语言,0-中文,1-英文
0 | 1
否
0
languageStreamEnabled
双语流功能
boolean
否
根据后台设置
streamTrackKey
languageStreamEnabled
string
否
-
showController
是否显示控制栏
boolean
否
true
skinConfig
皮肤设置
LivePlayerUISkinConfig
否
-
fullScreenMode
全屏模式
FullScreenMode
否
根据后台配置
audioSwitchEnabled
显示音频切换,仅移动端支持
boolean
否
根据后台配置
banHeaderAdvertisement
是否禁用片头广告
boolean
否
false
banPassword
是否禁用播放密码
boolean
否
false
autoChangePlayback
是否自动切换回放(仅支持直播暂存视频)
boolean
否
false
playerInited
播放器是否初始化完成
boolean
supportRefresh
是否支持刷新
boolean
supportAutoPlay
是否支持自动播放
boolean
supportLanguageStream
是否支持多语流
boolean
supportLowLatency
是否支持无延迟播放
boolean
isLowLatency
当前是否无延迟播放
boolean
playStatus
播放状态
PlayStatus
barrageShow
弹幕显示状态
boolean
supportBarrageSpeed
是否支持弹幕速度切换
boolean
currentBarrageSpeed
弹幕速度
number
barrageSpeedDefaultGrade
弹幕速度默认档位
number
supportBarrageSize
是否支持弹幕字号切换
boolean
currentBarrageSize
弹幕字号
number
barrageSizeDefaultGrade
弹幕字号默认档位
number
supportBarrageLocation
是否支持弹幕字号切换
boolean
barrageLocationDefaultId
默认弹幕位置ID
number
currentBarrageLocationIndex
当前弹幕位置ID
number
supportBarrageAlpha
是否支持弹幕透明度切换
boolean
barrageDefaultAlpha
默认弹幕透明度
number
currentBarrageAlpha
当前弹幕透明度
number
currentVolume
当前音量
number
lineCount
总线路数
number
currentLine
当前线路索引
number
qualityLevels
可选的清晰度列表
QualityLevelItem[]
currentQualityLevel
当前清晰度级别
number
rateList
可选的倍速列表
number[]
currentRate
当前倍速
number
durationTime
播放总时长,单位:秒
number
currentTime
当前播放进度,单位:秒
number
supportTimeAxisMark
是否支持时间轴标记
boolean
supportLiveTimeShift
是否支持直播时移
boolean
stopLivePlayEnabled
直播时是否显示播放按钮, 默认开
boolean
playbackMultiplierEnabled
回放时是否显示倍速按钮,默认开
boolean
playbackProgressBarEnabled
回放时是否显示进度条,默认开
boolean
playbackShowPlayButtonEnabled
回放时是否显示左下角播放/暂停按钮,默认开
boolean
loopPlayEnabled
回放时是否循环播放,列表播放播放完最后一个视频会暂停播放,默认开
boolean
pcPlayerVersion
播放器版本,目前仅支持pc播放器
string
newPlayerPauseStyleEnabled
是否开启播放器新版暂停样式
boolean
recordFileAudioUrl
录制文件音频流地址
string
index
-
number
是
-
show
-
boolean
否
-
text
-
string
否
-
playerFullscreenEnabled
播放器是否支持全屏
boolean
portraitPlayerFullscreenEnabled
竖屏播放器是否支持全屏
boolean
mobileAudioEnabled
移动端音视频切换开关
boolean
fullScreenMode
播放器全屏模式
FullScreenMode
logoImage
logo 图片地址
undefined | string
logoHref
logo 跳转地址
undefined | string
logoOpacity
logo 透明度
number
logoPosition
logo 位置
PlayerLogoPosition
warmUpType
暖场类型
WarmUpType
warmUpImg
暖场图片地址
string
warmUpLargeImg
暖场大图图片地址
string
warmUpVideo
暖场视频地址
string
warmUpHref
暖场图片点击跳转地址
string