更新记录
1.0(2022-08-05)
初始版本发布。
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 11.0 | armeabi-v7a:支持,arm64-v8a:支持,x86:未测试 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
/ Title: XF-qiniuPlayer Description:XF-qiniuPlayer /
概述
XF-qiniuPlayer封装了七牛播放器功能。
iOS需要需要配置支持横屏切换
"screenOrientation" : [
//应用支持的屏幕方向
"portrait-primary", //竖屏
"landscape-primary" //横屏,Home键在右侧
], //end
模块调用
<XF-qiniuPlayerComponent ref='qiniuPlayer'
:dataList = "dataList"
style="width:300;height:250"
@onBackClick="onBackClick"//返回按钮监听
@onFull="onFull" //进入全屏监听
@onUnFull="onUnFull"//退出全屏监听
@onCompletion="onPlayEnd"//视频播放完成监听
@onEndPlay="onPlayError"//视频播放错误监听
@onDown="onDown"//下载按钮监听
@onBuy="onBuy">//购买按钮监听
</XF-qiniuPlayerComponent>
参数说明:
dataList:
- 类型:JSON型
- 描述:(可选项)返回按钮监听。
{ url : '',//视频资源地址rtmp://、http:// title : '',//视频标题 isSmallOpenGesture : false,//窗口播放时是否开启手势控制音量,亮度和进度 (开启:true;不开启:false) isMaxOpenGesture : false,//全屏时是否开启手势控制音量,亮度和进度 (开启:true;不开启:false) isSmallImmerse : true,//窗口播放顶部控制栏是否增加固定高度,不和状态栏重合(显示:true ; 隐藏:false) isMaxImmerse: false,//全屏播放顶部控制栏是否增加固定高度,不和状态栏重合 (显示:true ; 隐藏:false) freeProcess : 0,//设置可免费播放时长,当免费播放完后触发播放异常事件,错误码5721 isAutoPlay : true,//是否自动播放 (自动播放:true ; 不自动播放:false) isLoop : false,//是否循环播放 (循环播放:true ; 禁止循环播放:false) process : 0,//设置视频需要播放的时长 options : {},//设置播放器内核配置项 scalingMode : 1,//视频播放显示铺满模式(1:无缩放, 2:适应大小模式, 3:充满可视范围,可能会被裁剪, 4:缩放到充满视图) isShowDownload : true,//是否显示下载按钮 (显示:true;不显示:false) isSmallShowBack : true,//窗口时是否显示返回按钮 (显示:true;不显示:false) isSmallShowShare : true,//窗口时是否显示分析按钮 (显示:true;不显示:false) }
模块接口
playUrl
切换视频地址时调用。
playUrl({params}, callback(ret))
params
url:
- 类型:字符串
- 描述:(必填项)视频资源地址rtmp://、http://
title:
- 类型:字符串
- 描述:(可选项)不填时标题默认显示url地址
isSmallOpenGesture:
- 类型:布尔型
- 描述:(可选项)窗口播放时是否开启手势控制音量,亮度和进度 (开启:true;不开启:false)
- 默认值:false
isMaxOpenGesture:
- 类型:布尔型
- 描述:(可选项)全屏时是否开启手势控制音量,亮度和进度 (开启:true;不开启:false)
- 默认值:true
isSmallImmerse:
- 类型:布尔型
- 描述:(可选项)窗口播放顶部控制栏是否增加固定高度,不和状态栏重合(显示:true ; 隐藏:false)
- 默认值:true
isMaxImmerse:
- 类型:布尔型
- 描述:(可选项)全屏播放顶部控制栏是否增加固定高度,不和状态栏重合 (显示:true ; 隐藏:false)
- 默认值:false
freeProcess:
- 类型:数字型
- 描述:(必填项)设置可免费播放时长,当免费播放完后触发播放异常事件,错误码5721
- 默认值:0
isAutoPlay:
- 类型:布尔型
- 描述:(可选项)是否自动播放 (自动播放:true ; 不自动播放:false)
- 默认值:true
isLoop:
- 类型:布尔型
- 描述:(可选项)是否循环播放 (循环播放:true ; 禁止循环播放:false)
- 默认值:false
process:
- 类型:数字型
- 描述:(必填项)设置视频需要播放的时长
- 默认值:0
options:
- 类型:JSON型
- 描述:(可选项)设置播放器内核配置项
{
drmKey: [0X32, 0X30, 0X31, 0X39, 0X70, 0X6D, 0X71, 0X75, 0X61, 0X6E, 0X7A, 0X69, 0X40,0X29, 0X21, 0X28],
}
scalingMode:
- 类型:布尔
- 描述:(可选项)视频播放显示铺满模式(1:无缩放, 2:适应大小模式, 3:充满可视范围,可能会被裁剪, 4:缩放到充满视图)
- 默认值:1(无缩放)
isShowDownload:
- 类型:布尔型
- 描述:(可选项)是否显示下载按钮 (显示:true;不显示:false)
- 默认值:true
isSmallShowBack:
- 类型:布尔型
- 描述:(可选项)窗口时是否显示返回按钮 (显示:true;不显示:false)
- 默认值:true
isSmallShowShare:
- 类型:布尔型
- 描述:(可选项)窗口时是否显示分析按钮 (显示:true;不显示:false)
- 默认值:true
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
msg : '',
}
示例代码
this.$refs.qiniuPlayer.playUrl({
title: "test",
url: 'http://lessons.pmquanzi.com/course1558694024408192.m3u8',
options: {
drmKey: [0X32, 0X30, 0X31, 0X39, 0X70, 0X6D, 0X71, 0X75, 0X61, 0X6E, 0X7A, 0X69, 0X40,0X29, 0X21, 0X28],
},
freeProcess: 100000,
}, function(ret) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stop
停止播放
stop(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.stop(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
full
全屏播放
full(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.full(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
unfull
退出全屏
unfull(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.unfull(function(ret, err) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
sendDanmu
发送一条弹幕信息
sendDanmu({params}, callback(ret))
params
text:
- 类型:字符串
- 描述:(必填项)弹幕文字内容
color:
- 类型:字符串
- 描述:(可选项)弹幕文字显示颜色代码
- 默认值:#FFFAFA
textSize:
- 类型:数字型
- 描述:(可选项)弹幕文字大小
- 默认值:12
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.sendDanmu({
text : '测试2测试2测试2测试2',
color : '#FF7F24'
},function(ret,err){
});
可用性
iOS、Android系统
可提供的3.1.6及更高版本
sendDanmuList
发送多条弹幕信息。
sendDanmuList({params}, callback(ret))
params
isLoop:
- 类型:布尔型
- 描述:(可选项)天际的全部数据是否循环播放(循环:true,不循环:false)
- 默认值:false
data:
- 类型:数组对象
- 描述:(必填项)多条弹幕信息记录。
- 内部字段:
[{
text: '', //(必填项)弹幕文字内容
color: '', //(可选项)弹幕文字显示颜色代码[默认值:#FFFAFA]
textSize: 12 //(可选项)弹幕文字大小
}]
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.sendDanmuList({
data : [{
text : '测试1',
color : '#FF7F24'
},{
text : '测试2测试2测试2测试2',
color : '#FF7F24'
}],
}, function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
getCurrentPosition
获取当前播放时长。
getCurrentPosition(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
currentPosition : 0,
}
示例代码
this.$refs.qiniuPlayer.getCurrentPosition(function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
showTextLogo
发送文字logo,防盗视频。
showTextLogo({params}, callback(ret))
params
step:
- 类型:数字型
- 描述:(可选项)循环间隔时间(秒)
- 默认值:1
text:
- 类型:字符串
- 描述:(必填项)弹幕文字内容
color:
- 类型:字符串
- 描述:(可选项)弹幕文字显示颜色代码
- 默认值:#FFFAFA
textSize:
- 类型:数字型
- 描述:(可选项)弹幕文字大小
- 默认值:12
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.showTextLogo({
text : '测试1',
color : '#FF7F24'
}, function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
pause
暂停播放。
pause(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.pause(function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
start
恢复播放。
start(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.qiniuPlayer.start(function(ret, err) {
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本