更新记录
1.0.1(2022-01-20)
直播推流rtmp发布
平台兼容性
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原生插件配置”->”云端插件“列表中删除该插件重新选择
# 直播推流live push
概述
1:GPUImage基础美颜 磨皮 提亮 色调调节 2.GPUImage滤镜 用户可自定义 3.动态水印 4.自定义控件 5.推流实现自研,没有集成个大平台sdk
温馨提示
let ox = this.$refs.live;
监听事件
var globalEvent = weex.requireModule('globalEvent');
globalEvent.addEventListener("pushCallback", function (e) {
var code= e.code;
// -1 连接错误
// 0 未连接
// 1 连接中
// 2 已连接
// 3 已停止
// 8 初始完成
// 其他为自定义控件事件 以控件 code分辩
});
模块接口
unzipFilter
解压初始化滤镜
//解压滤镜 zipPath 可以为http网络资源 用户可自己定义 格式参考 static/filter下zip内格式
const ox = uni.requireNativePlugin('Jiang-OxLivePusher');
ox.unzipFilter({
filters: [{
name: '初心',
zipPath: '/static/filter/persion/001.zip'
}, {
name: '白皙',
zipPath: '/static/filter/persion/002.zip'
}, {
name: '白雪',
zipPath: '/static/filter/persion/003.zip'
}, {
name: '初恋',
zipPath: '/static/filter/persion/004.zip'
}, {
name: '动人',
zipPath: '/static/filter/persion/005.zip'
}, {
name: '非凡',
zipPath: '/static/filter/persion/006.zip'
}, {
name: '告白',
zipPath: '/static/filter/persion/007.zip'
}, {
name: '活泼',
zipPath: '/static/filter/persion/008.zip'
}, {
name: '慕斯',
zipPath: '/static/filter/persion/009.zip'
}, {
name: '奶茶',
zipPath: '/static/filter/persion/010.zip'
}]
});
open
打开界面
var ox = api.require('oxLivePusher');
ox.open({
url: "rtmp://",//直播地址
components:[backBtn],// 控件 自定义控件 可选
warterMark:{
pic:'/static/logo.png',
x: 20,
y: 40,
w: 30,
h: 30
},//水印 字段为空则不显示水印
backgroundHolder: '/static/background.png', //视频背景图片
data:{}//用户自定义数据 可以是vid uid 等 随点击事件返回
});
startPreview
开始预览
let ox = this.$refs.live;
ox.startPreview();
startPush
开始推送
let ox = this.$refs.live;
ox.startPush();
stopPush
停止推送
let ox = this.$refs.live;
ox.stopPush();
isPush
是否推送
let ox = this.$refs.live;
ox.isPush(function(ret) {
if(ret.code==0){
var isPush = ret.isPush;
}
});
showPreview
显示预览
let ox = this.$refs.live;
ox.showPreview();
hidePreview
隐藏预览
let ox = this.$refs.live;
ox.hidePreview();
switchCamera
切换前后摄像头
let ox = this.$refs.live;
ox.switchCamera();
toggleFlashLight
闪光灯开启关闭
let ox = this.$refs.live;
ox.toggleFlashLight();
showBeautifyPanel
显示美颜面板
let ox = this.$refs.live;
ox.showBeautifyPanel();
showFilterPanel
显示滤镜面板
let ox = this.$refs.live;
ox.showFilterPanel();
updateWarterMark
更新水印
let ox = this.$refs.live;
ox.updateWarterMark({
pic:'widget://res/icon.png',
x: 20,
y: 40,
w: 30,
h: 30
});
updateComponent
更新自定义组件
let ox = this.$refs.live;
ox.updateComponent({
type: 'component',
x: w - 50,
y: 460,
w: 34,
h: 34,
pics: [{
path: '/static/icon_share.png',
x: 6,
y: 6,
w: 22,
h: 22,
scaleType: 0, //0图片自适应 1 图片撑满 xywh
radius: 0, //圆角
code: 211
}],
radius: 18,
backgroundColor: '#000000',
alpha: 0.5,
border: 0,
borderColor: '#01000000',
text: '',
textSize: 14,
textColor: '#C0FF3E',
alignment: 0,
code: 21,
hidden: false
});
screenshot
截屏 返回base64
let ox = this.$refs.live;
ox.screenshot(function(ret) {
if(ret.code==0){
var base64 = ret.base64;
}
});
setMirror
设置镜像开启
let ox = this.$refs.live;
ox.setMirror({isMirror:true});
sendLiveMembers
在线人员
let ox = this.$refs.live;
let members = [{
uid: '9',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '潮汕小丸子'
},
{
uid: '10',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '任佳宁'
},
{
uid: '11',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '任佳宁'
},
{
uid: '12',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '任佳宁'
},
{
uid: '13',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '任佳宁'
},
{
uid: '14',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '神彩花边'
}
];
ox.sendLiveMembers(members)
showGiftPanel
显示礼物面板
let ox = this.$refs.live;
ox.showGiftPanel()
sendLiveGift
发送礼物svga格式
let ox = this.$refs.live;
ox.sendLiveGift(gift)
sendLiveDanmaku
拟弹窗消息
let danmaku = {
uid: '',
avatar: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
name: '潮汕小丸子',
content: '弹幕'
};
ox.sendLiveDanmaku(danmaku);
sendLiveMessage
发送滚动消息
let message = {
type: 3, //1 系统消息 2 自己的消息 3 其他人消息
uid: '',
userName: '潮汕小丸子',
userMsg: '潮汕小丸子',
icon: 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-dc-site/c40319b0-6080-11eb-918d-3d24828c498c.png',
textColor: '#FFFFFF'
};
ox.sendLiveMessage(message);