Android一对一直播系统源码实现视频连麦直播
Android一对一直播系统源码实现视频连麦直播的相关代码
时序图
首先利用 RTM SDK,主播和游客端都分别加入同一个频道,这样就能实现频道内的成员心令交互。 实现申请连麦/取消申请连麦的话,只需要和主播端约定好信令格式即可,代码如下。
游客
//申请连麦 fun applyLine() { RtmManager.instance.sendPeerMessage(hostId, "{"cmd": "apply", "avatar": "$userAvatar", "userName": "$userNickname"}" ) } //取消申请连麦 fun cancelApply() { RtmManager.instance.sendPeerMessage( hostId,"{"cmd": "cancelApply"}" ) } //收到信令回调通知 override fun onP2PMessageReceived(var1: RtmMessage?, var2: String?) { val params = JSONObject(var1.text) when (params.get("cmd")) { "acceptLine" -> { //主播同意 } "rejectLine" -> { //主播拒绝 } } }
主播
//拒绝游客连麦 fun rejectLine(uid: String) { RtmManager.instance.sendPeerMessage(uid, "{"cmd": "rejectLine"}" ) } //同意主播连麦 fun acceptLine(uid: String) { RtmManager.instance.sendPeerMessage(uid, "{"cmd": "acceptLine"}" ) } override fun onP2PMessageReceived(var1: RtmMessage?, var2: String?) { val params = JSONObject(var1.text) when (params.get("cmd")) { "apply" -> { //收到游客申请连麦 } "cancelApply" -> { //游客取消申请连麦 } } }
以上,就完成了最简单的信令交互,实际业务场景中,会有更多更复杂的,只需商定好,通过 RTM 发送交互就行。
以上就是Android一对一直播系统源码实现视频连麦直播的相关代码, 更多内容欢迎关注之后的文章