有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

属性定义

<mlvb-live-room> 组件包含如下属性:
属性
类型
说明
template
String
'float'
必要,标识组件使用的界面模板。
roomID
String
自定义
可选,房间号(role = audience 时,roomID 不能为空)。
roomName
String
自定义
可选,房间名。
role
String
‘anchor’,'audience'
必要,anchor 代表主播,audience 代表观众。
pureaudio
Boolean
true,false
可选,默认 false,是否开启纯音频推流。
beauty
Number
0 - 5
可选,默认5,美颜级别0 - 5。
muted
Boolean
true,false
可选,默认 false,是否静音。
debug
Boolean
true,false
可选,默认 false,是否打印推流 debug 信息。
bindRoomEvent
function
-
必要,监听 mlvb-live-room 组件返回的事件。

操作接口

<mlvb-live-room> 组件包含如下操作接口,您需要先通过 selectComponent 获取 <mlvb-live-room> 标签的引用,之后就可以进行相应的操作。
注意
后台接口限制并发为每秒100次请求,若您有高并发请求请提前 联系我们 处理,避免影响服务调用。
函数名
说明
start()
启动。
pause()
暂停。
resume()
恢复。
stop()
停止。
requestJoinAnchor()
请求连麦,适用于 audience。
respondJoinAnchor(agree:Boolean, audience:Object)
同意连麦,适用于 anchor。
switchCamera()
切换摄像头。
sendTextMsg(text:String)
发送文本消息。
var liveroom = this.selectComponent("#id_liveroom");
liveroom.pause();

事件通知

<mlvb-live-room> 标签通过 onRoomEvent 返回内部事件,事件参数格式如下:
"detail": {
"tag": "事件tag标识,具有唯一性",
"code": "事件代码",
"detail": "对应事件的详细参数"
}

示例代码

// Page.json 文件
"usingComponents": {
"mlvb-live-room": "/pages/components/mlvb-live-room/mlvbliveroomview"
}

// Page.wxml 文件
<mlvb-live-room id="id_liveroom"
roomID="{{roomID}}"
roomName="{{roomName}}"
template="float"
beauty="{{beauty}}"
muted="{{muted}}"
role="{{role}}"
debug="{{debug}}"
bindRoomEvent="onRoomEvent">
</mlvb-live-room>


// Page.js 文件
Page({
data: {
//...
role: 'anchor', // 角色视您的业务场景而定
roomID: '',
roomName: '',
beauty: 3,
muted: false,
debug: false,
},
//...
onRoomEvent: function(e){
switch(e.detail.tag){
case 'roomClosed': {
//房间已经关闭
break;
}
case 'error': {
//发生错误
var code = e.detail.code;
var detail = e.detail.detail;
break;
}
case 'recvTextMsg': {
//收到文本消息
var text = e.detail.detail;
break;
}
case 'requestJoinAnchor': {
//主播收到来自观众的连麦请求
var audience = e.detail;
var name = audience.userName;
var id = audience.userID;
// 允许请求
liveroom.respondJoinReq(true, audience)
break;
}
case 'linkOn': {
//连麦观众在连麦成功时会收到此通知
break;
}
case 'linkOut': {
//连麦观众退出连麦时会收到此通知
break;
}
}
},

onShow: function () {
},

onHide: function () {
},

onRead: function() {
var liveroom = this.selectComponent("#id_liveroom");
this.setData({
roomName: '测试',
});
liveroom.start();
},

})