安卓端一对一直播源码开发,融合约单聊天室教程
随着游戏约玩市场的兴起,很多客户都提出,想在一对一直播源码中融合约单聊天室功能,这点小要求,云豹当然可以满足啦,今天就和大家分享下,在一对一直播源码中开发约单聊天室的具体步骤和做法,希望能为一些已有源码,需要增加新功能的朋友。如果您觉得具体操作太麻烦,也可以联系云豹科技,我们有成品游戏约单源码,能够满足您的运营需要。
一、 更换腾讯sdk
由于一对一直播源码的liteavsdk.jar中缺少上图红框中的包,所以第一步就需要更换腾讯的sdk
下载专业版的sdk。然后替换liteavsdk.jar,替换.so文件
二、代码方面的调整
由于换了sdk,一对一直播源码中原先注释掉的这三行代码需要重新加上,不然有的部分功能无法使用,会出现播源码中原鉴权失败的错误。
String ugcLicenceUrl = "腾讯云的Licence" ; //腾讯云鉴权key String ugcKey = " 腾讯云鉴权 key " ; TXLiveBase. getInstance ().setLicence( this , ugcLicenceUrl, ugcKey);
三、 注意事项
1、本次集成在约单聊天室基础上增加视频功能,主要是调用如下代码采集视频画面:
mTRTCCloud.setLocalViewFillMode(TRTC_VIDEO_RENDER_MODE_FILL);mTRTCCloud.setVideoEncoderMirror(true);//镜像mTRTCCloud.startLocalPreview(true, mVideoView);//设置本地视频编码参数TRTCCloudDef.TRTCVideoEncParam encParam = new TRTCCloudDef.TRTCVideoEncParam();encParam.videoResolution = TRTCCloudDef.TRTC_VIDEO_RESOLUTION_960_540;encParam.videoFps = 15;encParam.videoBitrate = 1200;encParam.videoResolutionMode = TRTCCloudDef.TRTC_VIDEO_RESOLUTION_MODE_PORTRAIT;mTRTCCloud.setVideoEncoderParam(encParam);
观众端上麦需要调用下mTrtcCloud.switchRole(TRTCCloudDef.TRTCRoleAnchor)这个方法切换下身份。
下麦需要调用: mTrtcCloud.switchRole(TRTCCloudDef.TRTCRoleAudience);
2、 这里需要注意的是观众端:
一对一直播源码开发中,观众端主要是通过onUserVideoAvailable(String userId, boolean available)这个回调监控视频的播放,只要麦上有人开启关闭视频都会走这个回调。
available返回true表示开启视频,反之关闭。如果available返回了false,一定要回调中调用一下stopRemoteView(userId)这个方法来停止播放,不然会卡在视频的最后一帧。
3、 在一对一直播源码开发中,我们需要对应好相应麦上开启视频的用户,不然可能会遇到无法看到麦上开启视频的人的画面,或者视频画面跑到其他麦上。(云豹的程序员小哥哥在这部分遇到了一些小问题,主要是已经在麦上的用户开启视频后,然后在开麦,视频会被关闭,原因就是相应麦上的uid没有对应好)。
观众端的播放视频主要是调用 startRemoteView(userId, view)这个方法,这里主要采用for循环调用这个方法,展示每个麦上的用户的视频画面。
private void refreshRemoteVideoViews(TRTCCloud mTRTCCloud) { for ( int i = 0 ; i < mRemoteUidList .size(); i++) { String remoteUid; if (TextUtils. isEmpty ( mRemoteUidList .get(i))) { remoteUid = "" ; } else { remoteUid = mRemoteUidList .get(i); } if ( mLiveSeatViewHolder != null && mLiveSeatViewHolder .mLiveAnthorAdapter() instanceof LiveSongAnthorAdapter) { TXCloudVideoView txCloudVideoView = ((LiveSongAnthorAdapter) mLiveSeatViewHolder .mLiveAnthorAdapter()). getData().get(i).getmTxVideoView(); mTRTCCloud.startRemoteView(remoteUid, txCloudVideoView); } } }
作为一对一直播源码中人气较高的重要功能,融合约单聊天室能帮助平台扩充用户群体的覆盖面积,多样化的功能吸引到更多的用户加入,我们都知道,新功能、新玩法是吸引新用户加入、留住老用户的关键,而一对一直播开发融合约单聊天室功能能够有效提升人气,增加用户粘度和app使用时长。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任www.yunbaokj.com