tencentPlayers
来自于:厦门软云网络科技有限公司立即使用
腾讯云直播播放器
该模块可以实现腾讯云直播拉流播放,支持画面调整、播放控制、消息接收、屏幕截图、截流录制、清晰度无缝切换和直播回看。
腾讯云点播播放器
该播放器可以支持云点播播放,可以支持画面设置、播放控制、屏幕截图、变速播放、本地缓存、预加载、贴片广告、加密播放、HTTP-REF、硬件加速和多码率支持等。
技术支持
扫码获取技术支持,引导您跑通Demo和模块接入:
技术支持微信号: ruanyunkeji006
论坛示例
论坛中有我们的使用教程以及示例代码,您可以Demo进入查看详情,联系上方我们技术支持协助接入测试。
接口列表
初始化与监听
接口列表 | 功能 |
---|---|
init | 初始化 |
setPlayerListener | 设置播放监听器 |
removePlayerListener | 移除播放监听 |
destroy | 销毁播放器 |
基本控制
接口列表 | 功能 |
---|---|
start | 启动从指定URL播放音视频流 |
isPlaying | 获取当前播放状态 |
pause | 暂停播放 |
resume | 继续播放 |
stop | 停止播放音视频流 |
视频相关
接口列表 | 功能 |
---|---|
setRenderMode | 设置画面的裁剪模式 |
setRenderRotation | 设置画面的方向 |
setHwAcc | 开启硬件加速 |
switchStream | 清晰度切换 |
音频相关
接口列表 | 功能 |
---|---|
setMute | 设置是否静音 |
setVolume | 设置音量 |
setAudioRoute | 设置声音播放模式 |
setVolumeEvaluationListener | 设置音量大小评估监听 |
removeVolumeEvaluationListener | 移除音量大小评估监听 |
enableVolumeEvaluation | 启用音量大小评估 |
视频录制
接口列表 | 功能 |
---|---|
setRecordListener | 设置录制监听器 |
removeRecordListener | 移除录制监听 |
startRecord | 开始视频录制 |
stopRecord | 停止录制 |
snapshot | 播放器截图 |
直播时移
接口列表 | 功能 |
---|---|
prepareLiveSeek | 直播时移准备 |
seek | 直播时移跳转 |
resumeLive | 恢复直播服务 |
模块接口
init
初始化拉流播放器
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.init({}, ret => {
console.log(ret);
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setPlayerListener
设置播放监听
setPlayerListener(({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onConnectSuccessEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称, 详见回调事件
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
代码示例
livePlayer.setPlayerListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removePlayerListener
移除播放监听
removePlayerListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.removePlayerListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
start
启动从指定 URL 播放音视频流
start({params}, function(ret, err))
params
flvUrl:
- 类型: 字符串类型
- 描述: (必填项) 完整的url
rect:
- 类型: JSON对象
- 描述: (必填项) 视频显示区域的位置和大小
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.start({
rect: {
x: 0,
y: 0,
w: self.playerWidth,
h: self.playerHeight
},
flvUrl: 'http://xxx.xxx.xxx/xxx.flv'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
isPlaying
是否正在播放
isPlaying({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
isPlaying: true
}
- 字段详情:
isPlaying:
- 类型: 布尔类型
- 描述: true表示拉流中, false表示没有拉流
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.isPlaying({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
pause
暂停播放
此接口会暂停数据拉流,不会销毁播放器,暂停后,播放器会显示最后一帧数据图像
pause({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.pause({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
resume
继续播放
resume({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.resume({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
stop
销毁播放器及其视图
stop({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.stop({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRenderMode
设置画面的裁剪模式
setRenderMode({params}, function(ret, err))
params
mode:
- 类型: 整数类型
- 描述: (必填项) 裁剪模式
- 取值范围:
- 0: 图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉
- 1: 图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setRenderMode({
mode: 0
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRenderRotation
设置画面的方向
setRenderRotation({params}, function(ret, err))
params
rotation:
- 类型: 整数类型
- 描述: (必填项) 方向
- 取值范围: [0 ~ 3]
- 0: HOME 键在右边,横屏模式
- 1: HOME 键在下面,手机直播中最常见的竖屏直播模式
- 2: HOME 键在左边,横屏模式
- 3: HOME 键在上边,竖屏直播(适合小米 MIX2)
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setRenderRotation({
rotation: 1
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
setHwAcc
是否开启硬件加速
setHwAcc({params}, function(ret, err))
params
enable:
- 类型: 布尔类型
- 描述: (必填项) true表示开启硬件加速, false表示禁用硬件加速
- 默认值: false
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setHwAcc({
isHwAcc: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
switchStream
FLV 直播无缝切换
switchStream({params}, function(ret, err))
params
url:
- 类型: 字符串类型
- 描述: (必填项) 播放地址
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.switchStream({
url: self.switchUrl
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setMute
设置静音
setMute({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项) 是否静音
- 默认值: true
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setMute({
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setVolume
设置音量
setVolume({params}, function(ret, err))
params
volume:
- 类型: 整数类型
- 描述: (必填项) 音量大小
- 取值范围: [0 - 100]
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setVolume({
volume: self.volume
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setAudioRoute
设置声音播放模式(切换扬声器,听筒)
setAudioRoute({params}, function(ret, err))
params
mode:
- 类型: 整数类型
- 描述: (必填项) 声音播放模式
- 取值范围:
- 0: 扬声器,位于手机底部,声音偏大,适合外放音乐
- 1: 听筒,位于手机顶部,声音偏小,适合通话
callback(ret)
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setAudioRoute({
mode: self.audioRoute
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setVolumeEvaluationListener
设置音量大小回调接口
setVolumeEvaluationListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onAudioVolumeEvaluationNotify',
volume: 112
}
- 字段详情:
eventType:
- 类型: 字符串类型
- 描述: 事件名称
- 取值范围:
- onAudioVolumeEvaluationNotify: 音量回调
volume:
- 类型: 整数类型
- 描述: 音量大小
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setVolumeEvaluationListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
removeVolumeEvaluationListener
移除音量大小回调
removeVolumeEvaluationListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.removeVolumeEvaluationListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
enableVolumeEvaluation
启用音量大小提示
enableVolumeEvaluation({params}, function(ret, err))
开启后会在 setVolumeEvaluationListener 中获取到 SDK 对音量大小值的评估。
params
interval:
- 类型: 整数类型
- 描述: (必填项) 决定了回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于0则会关闭回调,建议设置为300ms
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.enableVolumeEvaluation({
interval: 300
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRecordListener
设置短视频录制回调
setRecordListener({params}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onRecordProgress',
progress: 113
}
- 字段详情:
eventType:
- 类型: 字符串类型
- 描述: 事件名称
- 取值范围:
- onRecordEvent: 录制事件
- onRecordProgress: 录制进度
- onRecordComplete: 录制结束
progress:
- 类型: 整数类型
- 描述: 录制进度
result:
- 类型: JSON对象
- 描述: 录制结果
{
coverImage: 'xxxx',
videoPath: 'xxxx'
}
coverImage:
- 类型: 字符串类型
- 描述: 封面图片路径
videoPath:
- 类型: 字符串类型
- 描述: 录制的视频路径
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.setRecordListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
removeRecordListener
移除录制监听
removeRecordListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.removeRecordListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
startRecord
开始录制短视频
startRecord({params}, function(ret, err))
params
type:
- 类型: 整数类型
- 描述: (必填项) 录制类型
- 取值范围: 0
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.startRecord({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
stopRecord
结束录制短视频
stopRecord({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.stopRecord({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
snapshot
截屏
snapshot({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
path: '/livePlayer/snapshot/snapshot_xxx.png'
}
- 字段详情:
path:
- 类型: 字符串类型
- 描述: 生成截图的路径
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.snapshot({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
prepareLiveSeek
直播时移准备,拉取该直播流的起始播放时间。
prepareLiveSeek({params}, function(ret, err))
使用时移功能需在播放开始后调用此方法,否则时移失败。
警告:
非腾讯云直播地址不能时移
params
appId:
- 类型: 字符串类型
- 描述: (必填项) 应用Id
domain:
- 类型: 字符串类型
- 描述: (必填项) 时移域名
bizid:
- 类型: 整数类型
- 描述: (必填项) 流bizid
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.prepareLiveSeek({
appId: 134321,
domain: 'http://xxx.xxx.xxx/xxx',
bizid: 98
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
seek
播放跳转到音视频流某个时间
seek({params}, function(ret, err))
params
second:
- 类型: 整数类型
- 描述: (必填项) 流时间,单位为秒
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.liveSeek({
second: 50
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
resumeLive
停止时移播放,返回直播
resumeLive({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
livePlayer.resumeLive({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
事件回调
您可以为 RY-TencentLivePlayer 对象绑定一个 setPlayerEventListener,之后 SDK 的内部状态信息均会通过事件通知和状态反馈通知给您。
播放事件
onConnectSuccessEvt
已经连接服务器
{
eventType: 'onConnectSuccessEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onRtmpStreamBeginEvt
已经连接服务器,开始拉流(仅播放 RTMP 地址时会抛送)
{
eventType: 'onRtmpStreamBeginEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onRcvFirstIFrameEvt
网络接收到首个可渲染的视频数据包(IDR)
{
eventType: 'onRcvFirstIFrameEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onPlayBeginEvt
视频播放开始,如果有转菊花什么的这个时候该停了
{
eventType: 'onPlayBeginEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onPlayLoadingEvt
视频播放 loading,如果能够恢复,之后会有 BEGIN 事件
{
eventType: 'onPlayLoadingEvt'
}
不要在收到 onPlayLoadingEvt 后隐藏播放画面 因为 onPlayLoadingEvt -> onPlayBeginEvt 的时间长短是不确定的,可能是 5s 也可能是 5ms,有些客户考虑在 LOADING 时隐藏画面, BEGIN 时显示画面,会造成严重的画面闪烁(尤其是直播场景下)。推荐的做法是在视频播放画面上叠加一个半透明的 loading 动画
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onGetMessageEvt
用于接收夹在音视频流中的消息
{
eventType: 'onGetMessageEvt',
msg: 'This is a message'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
msg:
- 类型: 字符类型
- 描述: 消息内容
结束事件
onPlayEndEvt
视频播放结束
{
eventType: 'onPlayEndEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onNetDisconnectErr
网络断连,且经多次重连亦不能恢复,更多重试请自行重启播放
{
eventType: 'onNetDisconnectErr'
}
如何判断直播已结束?
基于各种标准的实现原理不同,很多直播流通常没有结束事件(onPlayEndEvt)抛出,此时可预期的表现是:主播结束推流后,SDK 会很快发现数据流拉取失败(onReconnectWarn),然后开始重试,直至三次重试失败后抛出 onNetDisconnectErr 事件。 所以 onPlayEndEvt 和 onNetDisconnectErr 都要监听,用来作为直播结束的判定事件。
eventType:
- 类型: 字符串类型
- 描述: 事件名称
警告事件
如下的这些事件您可以不用关心,我们只是基于白盒化的 SDK 设计理念,将事件信息同步出来
onVideoDecodeFailWarn
当前视频帧解码失败
{
eventType: 'onVideoDecodeFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onAudioDecodeFailWarn
当前音频帧解码失败
{
eventType: 'onAudioDecodeFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onReconnectWarn
网络断连, 已启动自动重连(重连超过三次就直接抛送 onNetDisconnectErr 了)
{
eventType: 'onReconnectWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onRecvDataLagWarn
网络来包不稳:可能是下行带宽不足,或由于主播端出流不均匀
{
eventType: 'onRecvDataLagWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onVideoPlayLagWarn
当前视频播放出现卡顿
{
eventType: 'onVideoPlayLagWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onHWAccelerationFailWarn
硬解启动失败,采用软解
{
eventType: 'onHWAccelerationFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onVideoDisconntinuityWarn
当前视频帧不连续,可能丢帧
{
eventType: 'onVideoDisconntinuityWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onDnsFailWarn
RTMP-DNS 解析失败(仅播放 RTMP 地址时会抛送)
{
eventType: 'onDnsFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onServerConnFailWarn
RTMP 服务器连接失败(仅播放 RTMP 地址时会抛送)
{
eventType: 'onServerConnFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onShakeFailWarn
RTMP 服务器握手失败(仅播放 RTMP 地址时会抛送)
{
eventType: 'onShakeFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
接口列表
初始化与监听
接口列表 | 功能 |
---|---|
init | 播放器初始化 |
setPlayerListener | 设置播放监听器 |
removePlayerListener | 移除播放监听 |
destroy | 销毁播放器 |
基本控制
接口列表 | 功能 |
---|---|
start | 开始播放 |
pause | 暂停播放 |
resume | 继续播放 |
stop | 停止播放 |
高级控制
接口列表 | 功能 |
---|---|
setStartTime | 设置开始播放时间 |
isPlaying | 是否正在播放 |
seek | 跳转到1分钟的地方 |
getCurrentPlaybackTime | 获取当前播放时间 |
getDuration | 获取视频总时长 |
getPlayableDuration | 获取可播放时长 |
getWidth | 获取视频宽度 |
getHeight | 获取视频高度 |
setRenderMode | 切换画面的裁剪模式 |
setRenderRotation | 切换画面方向 |
setMute | 切换静音 |
snapshot | 屏幕截图 |
setRate | 切换播放速率 |
getSupportedBitrates | 支持的码率的列表 |
getBitrateIndex | 获取当前正在播放的码率索引 |
setBitrateIndex | 设置当前正在播放的码率索引 |
setMirror | 切换镜像 |
enableHWAcceleration | 开启关闭硬件加速 |
isHWAcceleration | 是否开启硬件加速 |
setAutoPlay | 切换自动播放 |
isAutoPlay | 是否自动播放 |
setLoop | 切换循环播放 |
isLoop | 是否循环播放 |
setToken | 设置加密HLS的token |
getToken | 获取加密HLS的token |
模块接口
init
初始化播放器
init({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.init({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
setPlayerListener
设置播放器监听
setPlayerListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
or
{
eventType: 'onPlayBegin'
}
- 字段详情:
eventType:
- 类型: 字符串类型
- 描述: 事件回调名称,详见事件回调
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setPlayerListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
removePlayerListener
移除播放器监听
removePlayerListener({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.removePlayerListener({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
destroy
销毁播放器
destroy({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.destroy({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
start
显示播放器界面
start({params}, function(ret, err))
params
url:
- 类型: 字符串类型
- 描述: (必填项) 启动从指定url播放
rect:
- 类型: JSON对象
- 描述: (必填项) 视频播放器的位置和大小
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.start({
rect: {
x: 0,
y: 0,
w: api.winWidth,
h: api.winWidth * 9 / 16
},
url: 'http://1251049911.vod2.myqclS29wR5K0A.mp4'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
pause
暂停播放
pause({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.pause({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
resume
重置播放器窗口大小
resume({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.resume({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
stop
停止播放
stopPlayer({}, function(ret, err))
callback(ret, err)
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.stop({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setStartTime
设置播放开始时间 在start前设置,修改开始播放的起始位置
setStartTime({params}, function(ret, err))
params
pos:
- 类型: 浮点数类型
- 描述: (必填项) 起始播放位置
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setStartTime({
pos: 300
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
isPlaying
是否正在播放
isPlaying({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
isPlaying: true
}
- 字段详情:
isPlaying:
- 类型: 布尔类型
- 描述: true表示播放中,false表示没有在播放
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.isPlaying({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
seek
移除事件监听
seek({params}, function(ret, err))
params
time:
- 类型: 浮点数类型
- 描述: 流时间,单位为秒
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.seek({
value: 600
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getCurrentPlaybackTime
获取当前播放时间
getCurrentPlaybackTime({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
time: 110
}
- 字段详情:
time:
- 类型: 浮点数类型
- 描述: 当前的播放时间
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getCurrentPlaybackTime({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getDuration
获取视频总时长
getDuration({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
time: 110
}
- 字段详情:
time:
- 类型: 浮点数类型
- 描述: 总时长
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getDuration({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供1.0.0及更高版本
getPlayableDuration
可播放时长
getPlayableDuration({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
time: 110
}
- 字段详情:
time:
- 类型: 浮点数类型
- 描述: 可播放时长
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getPlayableDuration({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getWidth
获取视频宽度
getWidth({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
width: 98
}
- 字段详情:
width:
- 类型: 整数类型
- 描述: 视频宽度
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getWidth({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getHeight
获取视频高度
getHeight({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
height: 100
}
- 字段详情:
height:
- 类型: 整数类型
- 描述: 视频高度
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getHeight({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRenderMode
设置画面的裁剪模式
setRenderMode({params}, function(ret, err))
params
mode:
- 类型: 整数类型
- 描述: (必填项) 裁剪
- 取值范围:
- 0: 图像铺满屏幕,不留黑边,如果图像宽高比不同于屏幕宽高比,部分画面内容会被裁剪掉。
- 1: 图像适应屏幕,保持画面完整,但如果图像宽高比不同于屏幕宽高比,会有黑边的存在。
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setRenderMode({
mode: renderMode
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRenderRotation
设置画面的方向
setRenderRotation({params}, function(ret, err))
params
rotation:
- 类型: 整数类型
- 描述: (必填项)方向
- 取值范围:
- 0: HOME 键在右边,横屏模式
- 1: HOME 键在下面,手机直播中最常见的竖屏直播模式
- 2: HOME 键在左边,横屏模式
- 3: HOME 键在上边,竖屏直播(适合小米 MIX2)
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setRenderRotation({
rotation: rotation
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setMute
设置静音
setMute({params}, function(ret, err))
params
isMute:
- 类型: 布尔类型
- 描述: (必填项)是否静音
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setMute({
isMute: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
snapshot
截图
snapshot({params}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.snapshot({
path: '/tencentVodPlayer/abc.png';
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setRate
设置播放速率
setRate({params}, function(ret, err))
params
rate:
- 类型: 浮点数类型
- 描述: (必填项) 正常速度为1.0;小于为慢速;大于为快速。最大建议不超过2.0
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setRate({
rate: 0.5
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getSupportedBitrates
当播放地址为master playlist,返回支持的码率(清晰度)
getSupportedBitrates({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
bitrateList: [
{
index: 0,
width: 110,
height: 220,
bitrate: xxx
}
...
]
}
字段详情:
bitrateList
- 类型: JSON数组
- 描述: 码率对象列表
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getSupportedBitrates({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getBitrateIndex
getBitrateIndex({}, function(ret, err))
获取当前正在播放的码率索引
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
index: 0
}
- 字段详情:
index:
- 类型: 整数类型
- 描述: 码率索引
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getBitrateIndex({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setBitrateIndex
设置当前正在播放的码率索引,无缝切换清晰度 清晰度切换可能需要等待一小段时间。腾讯云支持多码率HLS分片对齐,保证最佳体验。
setBitrateIndex({params}, function(ret, err))
params
index:
- 类型: 整数类型
- 描述: (必填项) 码率索引
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setBitrateIndex({
index: 0
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setMirror
设置画面镜像
setMirror({params}, function(ret, err))
params
isMirror:
- 类型: 布尔类型
- 描述: (必填项) 是否镜像
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setMirror({
isMirror: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
setHwAcc
是否开启硬件加速 播放前设置有效
setHwAcc({params}, function(ret, err))
params
enable:
- 类型: 布尔类型
- 描述: (必填项) 是否硬件加速
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setHwAcc({
enable: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
isHwAcc
是否开启硬件加速
isHwAcc({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
isHwAcc: true
}
- 字段详情:
isHwAcc:
- 类型: 布尔类型
- 描述: 是否开启硬件加速
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.isHwAcc({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
setAutoPlay
设置自动播放
setAutoPlay({params}, function(ret, err))
params
isAutoPlay:
- 类型: 布尔类型
- 描述: (必填项) 是否自动播放
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setAutoPlay({
isAutoPlay: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
isAutoPlay
是否自动播放
isAutoPlay({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
isAutoPlay: true
}
- 字段详情:
isAutoPlay:
- 类型: 布尔类型
- 描述: 是否自动播放
err:
- 类型: JSON对象
- 内部字段:
{
code: -1, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.isAutoPlay({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
setToken
设置加密HLS的token
setToken({param}, function(ret, err))
params
token:
- 类型: 字符串类型
- 描述: (必填项) 加密HLS的token
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -1, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setToken({
token: 'fdsaf2xfdasxx'
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
getToken
获取加密HLS的token
getToken({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
token: 'defxa3xxxuiol'
}
字段详情:
token:
- 类型: 字符串类型
- 描述: 加密HLS的token
err:
- 类型: JSON对象
- 内部字段:
{
code: -1, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.getToken({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
setLoop
设置是否循环播放
setLoop({param}, function(ret, err))
params
isLoop:
- 类型: 布尔类型
- 描述: (必填项) 是否循环播放
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true // 布尔类型, true表示操作成功
}
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.setLoop({
isLoop: true
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS, Android系统
可提供的1.0.0及更高版本
isLoop
是否循环播放
isLoop({}, function(ret, err))
callback
ret:
- 类型: JSON对象
- 内部字段:
{
status: true, // 布尔类型, true表示操作成功
isLoop: true
}
字段详情:
isLoop:
- 类型: 布尔类型
- 描述: 是否循环播放
err:
- 类型: JSON对象
- 内部字段:
{
code: -911, // 整数类型, 错误码
msg: '错误描述' // 字符串类型, 错误信息
}
示例代码
vodPlayer.isLoop({}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统
可提供的1.0.0及更高版本
事件回调
除了进度信息,SDK 还会通过事件通知和状态反馈同步给您的应用程序很多其它的信息:
播放事件
onPlayBeginEvt
视频播放开始,如果有转菊花什么的这个时候该停了
{
eventType: 'onPlayBeginEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onPlayProgressEvt
视频播放进度,会通知当前播放进度、加载进度和总体时长
{
eventType: 'onPlayProgressEvt',
playable: 3000,
progress: 100,
duration: 110000
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
playable:
- 类型: 整数类型
- 描述: 加载进度, 单位是毫秒
progress:
- 类型: 整数类型
- 描述: 播放进度, 单位是毫秒
duration:
- 类型: 整数类型
- 描述: 视频总长, 单位是毫秒
onPlayLoadingEvt
视频播放 loading,如果能够恢复,之后会有 onVodPlayLoadingEvt 事件
{
eventType: 'onPlayLoadingEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onVodLoadingEndEvt
视频播放 loading 结束,视频继续播放
{
eventType: 'onVodLoadingEndEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
结束事件
onPlayEndEvt
视频播放结束
{
eventType: 'onPlayEndEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onNetDisconnectErr
网络断连,且经多次重连亦不能恢复,更多重试请自行重启播放
{
eventType: 'onNetDisconnectErr'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onHlsKeyErr
HLS 解密 key 获取失败
{
eventType: 'onHlsKeyErr'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
警告事件
如下的这些事件您可以不用关心,它只是用来告知您 SDK 内部的一些事件。
onVideoDecodeFailWarn
当前视频帧解码失败
{
eventType: 'onVideoDecodeFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onAudioDecodeFailWarn
当前音频帧解码失败
{
eventType: 'onAudioDecodeFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onReconnectWarn
网络断连,已启动自动重连(重连超过三次就直接抛送 PLAY_ERR_NET_DISCONNECT 了)
{
eventType: 'onReconnectWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onHWAccelerationFailWarn
硬解启动失败,采用软解
{
eventType: 'onHWAccelerationFailWarn'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
连接事件
此外还有几个连接服务器的事件,主要用于测定和统计服务器连接时间,您也无需关心:
onVodPlayPreparedEvt
播放器已准备完成,可以播放
{
eventType: 'onVodPlayPreparedEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onRcvFirstIFrameEvt
网络接收到首个可渲染的视频数据包(IDR)
{
eventType: 'onRcvFirstIFrameEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
分辨率事件
以下事件用于获取画面变化信息,您也无需关心:
onChangeResolutionEvt
视频分辨率改变
{
eventType: 'onChangeResolutionEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
onChangeRotationEvt
MP4视频旋转角度
{
eventType: 'onChangeRotationEvt'
}
eventType:
- 类型: 字符串类型
- 描述: 事件名称
技术支持
技术支持微信号: ruanyunkeji006