更新记录
1.0(2024-07-11)
初始化发布
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:4.4 - 14.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:12 - 17 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在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-alphaPlayer Description:XF-alphaPlayer /
概述
XF-alphaPlayer实现了播放透明视频动画特效,可以通过制作Alpha通道分离的视频素材,再在客户端上通过OpenGL ES重新实现Alpha通道和RGB通道的混合,从而实现在端上播放带透明通道的视频。
这套方案对设计师而言明显降低了特效的制作成本,对于客户端而言有着更可靠的性能和稳定性,且相比cocos2d引擎有着更低的入门门槛和维护成本,为复杂动画的实现提供了一种全新的方式,新的复杂动画开发将会变得更加简单高效。
模块调用
<XF-alphaPlayer ref='alphaPlayer' style="width:300;height:400">
</XF-alphaPlayer>
插件接口
playVideo
播放透明视频
playVideo({params},callback(ret))
params
sourcePath:
- 类型:字符串型
- 描述:(必填项)设置要播放透明视频的文件夹路径(内含config.json和heartbeats.mp4文件)
->config.json { "portrait": { "align": 2, "path": "heartbeats.mp4", }, "landscape": { "path": "heartbeats.mp4", "align": 8 } } ->heartbeats.mp4
orientation:
- 类型:数字型
- 描述:(可选项)横屏还是竖屏显示(0:竖屏,1:横屏)
- 默认值:0
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.alphaPlayer.playVideo({
//sourcePath: "/storage/emulated/0/alphaVideoGift/demoRes"
sourcePath: "_www/static/TestResource/heartbeats"
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
playVideoByDict
播放透明视频
playVideoByDict({params},callback(ret))
params
portraitAlign:
- 类型:数字型
- 描述:(可选项)竖屏布局显示逻辑
- 默认值:0
portraitPath:
- 类型:字符串型
- 描述:(必填项)竖屏视频资源路径
landscapeAlign:
- 类型:数字型
- 描述:(可选项)横屏布局显示逻辑
- 默认值:0
landscapePath:
- 类型:字符串型
- 描述:(必填项)横屏视频资源路径
orientation:
- 类型:数字型
- 描述:(可选项)横屏还是竖屏显示(0:竖屏,1:横屏)
- 默认值:0
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.alphaPlayer.playVideoByDict({
portraitPath: "/storage/emulated/0/alphaVideoGift/demoRes/demo_video.mp4",
landscapePath: "/storage/emulated/0/alphaVideoGift/demoRes/demo_video.mp4"
}, function(ret){
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
stopVideo
停止视频播放
stopVideo(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.alphaPlayer.stopVideo(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
addDelegate
添加播放事件监听
addDelegate(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
eventType: 'onFinish',//onStart onFinish
}
示例代码
this.$refs.alphaPlayer.addDelegate(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本
removeDelegate
移除播放事件监听
removeDelegate(callback(ret))
callback(ret)
ret:
- 类型:JSON对象
- 内部字段:
{
status: true, //布尔型;true||false
}
示例代码
this.$refs.alphaPlayer.removeDelegate(function(ret) {
alert(JSON.stringify(ret));
});
可用性
iOS、Android系统
可提供的1.0.0及更高版本