计算机中丢失agora,agora监听事件

一、监听加入事件

通过sdk的监听事件,获取新加入房间直播的主播uid以及rtmp的url

并将url和uid存到数组中,存uid的作用是为了当有主播退出时,将渲染的数组中的视频流移除

//监听添加远端流

client.on("stream-added", e => {

console.log("stream--add",e)

let uid=e.uid

client.subscribe(uid,(url,rotation)=> {

Utils.log(`stream url ${url} subscribed successful`);

let t_rtmpUrl=that.data.rtmpUrl

let item={

url:url,

uid:e.uid

}

t_rtmpUrl.push(item)

that.setData({

rtmpUrl:t_rtmpUrl

})

}, e => {

Utils.log(`stream subscribed failed ${e} ${e.code} ${e.reason}`);

});

});

二、监听移除事件

监听移除事件,返回的是uid的数组

//移除远端订阅流

client.on("stream-removed", e => {

let uid = e.uid;

console.log("remove===",e)

Utils.log(`stream ${uid} removed`);

this.removeMedia(uid);

});

传入移除的uid数组,进行删除

removeMedia(uidList){

let that=this

let rtmpUrl=this.data.rtmpUrl

let removeUids=[]

for(let i=0;i

for(let j=0;j

if(uidList[i]==rtmpUrl[j].uid){

removeUids.push(j)

}

}

for(let k=0;k

rtmpUrl.splice(removeUids[k],1)

}

this.setData({

rtmpUrl:rtmpUrl

})

}

},

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值