概述
原生插件封装了腾讯的超级视频播放器。腾讯超级播放器是基于腾讯移动端视频播放器 SDK(TXLiteAVSDK_Player)进一步封装而来的。它进一步集成了视频播放器常用播放、暂停、切换清晰度等功能,该超级播放器自带一套完整的 UI, 其效果如原生插件商店运行截图所示。关于腾讯视频播放器的架构,轻参考 腾讯官方文档。
本原生插件支持 RTMP、FLV、HLS、MP4 等丰富的音视频格式。
可以通过playFenestrule 接口开启小窗播放模式,此时可以调 hidePlayerView 接口隐藏普通播放模式的播放器。addFenestruleListener 接口可以监听用点击小窗播放器,在回调里可以调 backFramePlay 接口回到普通播放模式,之后可以再通过 backFenestrulePlay 恢复小窗播放。若用户在小窗播放时点击了关闭按钮,则在相应回调里调用closeFenestrulePlay关闭小窗,同时调用 closePlayer 关闭播放器。
如需支持后台播放功能请参考 config.xml 配置说明文档里关于 BackgroundMode 的配置
配置实例如下:
<preference name="backgroundMode" value="audio"/>
注意:1.0.9版(原生SDK 10.1版本)本开始增加授权校验,详情参考腾讯文档
设置验证
setLicence({params})
licenceURL:
licenceKey:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setLicence({
licenceURL:'',
licenceKey:''
})
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
配置播放器视图。
注意:本接口仅支持引擎2.0方式调用。引擎3.0上可直接通过 mo-tcsuperplayer 标签配置使用播放器。
configPlayerView({params})
rect:
{
x: 0, //(可选项)数字类型;原生插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:0
y: 0, //(可选项)数字类型;原生插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:0
w:300, //(可选项)数字类型;原生插件宽度(相对于所属的 Window 或 Frame;默认300
h:600 //(可选项)数字类型;原生插件高度(相对于所属的 Window 或 Frame;默认300
}
isShowDanmu:
isShowSnapshot:
isShowMoreButton:
isShowPipBtn:
isShowWindowLayoutTop
isShowBackBtn
fixedOn:
fixed:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.configPlayerView({
rect:{
x:,
y:,
w:,
h:
},
fixedOn:'',
fixed:false
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
重设播放器位置和大小
注意:本接口仅对 configPlayerView 打开的播放器有效
resizePlayerView({params})
rect:
{
x: 0, //(可选项)数字类型;原生插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认值:原x坐标
y: 0, //(可选项)数字类型;原生插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认值:原y坐标
w:300, //(可选项)数字类型;原生插件宽度(相对于所属的 Window 或 Frame;默认300
h:600 //(可选项)数字类型;原生插件高度(相对于所属的 Window 或 Frame;默认300
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.resizePlayerView({
rect:{
x:,
y:,
w:,
h:
}
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
隐藏播放试图的 frame
hidePlayerView()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.hidePlayerView()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
恢复显示播放试图的 frame
showPlayerView()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.showPlayerView()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
初始化播放器
initPlayer()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.initPlayer()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
关闭播放器。仅对引擎 2.0 方式打开的原生插件有效。通过 AVM 标签打开的播放器先调用pause接口暂停,然后前端代码自行隐藏即可。
closePlayer()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.closePlayer()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
播放自定义视频
playWithUrl({params})
title:
videoURL:
multiVideoURLs:
{
qualityName:'', //字符串类型;视频的清晰度,如:原画、标清、超清、一般、模糊
url:'' //字符串类型;视频资源地址
}
dynamicWaterConfig:
{
tipText:'', //字符串类型;动态水印文本内容
tipTextSize:, //数字类型;动态水印字体大小 默认30
tipTextColor:'' //字符串类型;动态水印字体颜色 默认'#80FFFFFF'
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.playWithUrl({
title: '',
videoURL:'http://af1fb2ef33ba36ebbfad.qiniucdn.yonbuilder-system.com/yonbuilder/1b99aa5822f858abd1da8b2bb8332055.MP4'
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
播放腾讯云视频
playWithTCloud({params})
title:
appId:
fileId:
psign:
dynamicWaterConfig:
{
tipText:'', //字符串类型;动态水印文本内容
tipTextSize:, //数字类型;动态水印字体大小 默认30
tipTextColor:'' //字符串类型;动态水印字体颜色 默认'#80FFFFFF'
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.playWithTCloud({
title: '广告',
appId:1400329073,
fileId:'5285890799710670616'
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
全屏播放
setPlayerFullScreen()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setPlayerFullScreen()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
addPlayerListener()
事件监听
ret:
{
eventType: '', //字符串类型;交互事件类型;取值范围:
//back:返回事件
//fullScreenChanged:全屏改变通知
//didStart:播放开始通知
//didEnd:播放结束通知
//error:播放发生错误
code:, //数字类型;错误码
why:'' //字符串类型;错误信息
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.addPlayerListener(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
重置player
resetPlayer()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.resetPlayer();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
恢复播放
resumePlayer()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.resumePlayer();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
暂停播放
pausePlayer()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.pausePlayer();
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
跳转到指定位置播放
seekToTime({params})
toTime:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.seekToTime({
toTime:10
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
设置打点。在播放长视频时,打点信息有助于观众找到感兴趣的点。使用 修改媒体文件属性API,通过 AddKeyFrameDescs.N 参数可以为视频设置打点信息。调用后,播放器的界面会增加新的元素。
setKeyFrameDescList({params})
frameDescList:
[{
where:, //数字类型;打点位置(Android不支持)
time:, //数字类型;打点时间
text:'' //字符串类型;提示信息
},{},...]
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setKeyFrameDescList({
frameDescList:[{
where:10,
time:1,
text:'你笑起来真好看'
}]
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getKeyFrameDescList()
获取打点信息
ret:
{
keyFrameDescList: [], //数组类型;
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.getKeyFrameDescList(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getPlayerState()
获取播放状态
ret:
{
state: '', //字符串类型;状态类型;取值范围:
//failed:播放失败
//buffering:正在缓冲
//playing:正在播放
//stopped:停止
//pause:暂停
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.getPlayerState(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
设置封面图
setCoverImage({params})
coverImage:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setCoverImage({
coverImage:''
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
设置循环播放
setLoop({params})
loop:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setLoop({
loop:true
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
起始播放时间,用于从上次位置开播
setStartTime({params})
startTime:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.setStartTime({
startTime:10
})
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getPlayDuration()
获取播放总时长
ret:
{
playDuration: //数字类型;总时长;
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.getPlayDuration(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
getCurrentTime()
获取当前播放位置
ret:
{
currentTime: //数字类型;当前播放位置;
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.getCurrentTime(function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
开启小窗(浮动窗)播放模式
playFenestrule())
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.playFenestrule()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
从普通播放模式切换到小窗播放模式
backFenestrulePlay())
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.backFenestrulePlay()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
从小窗播放模式切换回普通播放模式
backFramePlay())
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.backFramePlay()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
关闭小窗(浮动窗)播放模式
closeFenestrulePlay())
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.closeFenestrulePlay()
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
添加小窗播放的相关事件监听
addFenestruleListener(callback(ret))
ret:
{
eventType:'' //字符串类型;交互事件类型;取值范围:
//click:用户点击小窗
//close:用户点击关闭按钮
}
var SuperPlayer = api.require('TCSuperPlayer');
SuperPlayer.addFenestruleListener(function(ret){
if(ret.eventType == 'close') {
SuperPlayer.closeFenestrulePlay();
} else {
SuperPlayer.backFramePlay();
}
});
iOS 系统,Android 系统
可提供的 1.0.0 及更高版本
隐藏全屏播放时的弹幕按钮,仅Android支持
hideDanmu()
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.hideDanmu()
Android 系统
可提供的 1.0.1 及更高版本
添加下载监听
addDownLoadListener(callback(ret))
ret:
{
eventType:'' //字符串类型;交互事件类型;取值范围:
//downloadStart:开始下载
//downloadProgress:下载中
//downloadStop:停止下载
//downloadFinish:下载完成
//downloadError:下载失败
downloadMediaInfo:'' //JSON对象,返回下载的信息;
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.addDownLoadListener(function(ret){
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
开始下载,开始下载有 URL 和 Fileid 两种方式。如果传了url就以url方式下载,Fileid方式需要appId、fileId
startDownLoad({params})
url:
appId:
fileId:
psign:
quality:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.startDownLoad({
appId:'',
fileId:''
})
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
停止下载视频,执行结果会在下载监听中的eventType为downloadStop回调
stopDownload({params})
downloadMediaInfo:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.stopDownload({
downloadMediaInfo:
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
删除下载视频
deleteDownloadFile({params},callback(ret))
downloadMediaInfo:
ret:
{
stutus: //布尔类型;是否删除成功
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.deleteDownloadFile({
downloadMediaInfo:''
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
获取下载列表
getDownloadList(callback(ret))
ret:
{
downloadInfoList:'' //返回下载的列表信息,downloadMediaInfo对象的JSON数组
}
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.getDownloadList(function(ret){
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本
是否显示动态水印;在playWithUrl或playWithTCloud中设置dynamicWaterConfig才会显示动态水印
isShowDynamicWater({params})
isShow:
var TCSuperPlayer = api.require('TCSuperPlayer');
TCSuperPlayer.isShowDynamicWater({
isShow:false
});
iOS 系统,Android 系统
可提供的 1.0.8 及更高版本