小程序+音视频3:mlvb-live-room

前言:

        mlvb-live-room

属性定义

<mlvb-live-room> 组件包含如下属性:

属性类型说明
templateString'float'必要,标识组件使用的界面模版。
roomIDString自定义可选,房间号(role = audience 时,roomID 不能为空)。
roomNameString自定义可选,房间名。
roleString‘anchor’,'audience'必要,anchor 代表主播,audience 代表观众。
pureaudioBooleantrue,false可选,默认 false,是否开启纯音频推流。
beautyNumber0 - 5可选,默认5,美颜级别0 - 5。
mutedBooleantrue,false可选,默认 false,是否静音。
debugBooleantrue,false可选,默认 false,是否打印推流 debug 信息。
bindRoomEventfunction-必要,监听 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();
 },
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值