安卓端一对一直播源码开发,融合约单聊天室教程

发布来源:云豹科技
发布人:云豹科技
2020-12-21 09:58:34

随着游戏约玩市场的兴起,很多客户都提出,想在一对一直播源码中融合约单聊天室功能,这点小要求,云豹当然可以满足啦,今天就和大家分享下,在一对一直播源码中开发约单聊天室的具体步骤和做法,希望能为一些已有源码,需要增加新功能的朋友。如果您觉得具体操作太麻烦,也可以联系云豹科技,我们有成品游戏约单源码,能够满足您的运营需要。


一对一直播源码.png


一、 更换腾讯sdk

由于一对一直播源码的liteavsdk.jar中缺少上图红框中的包,所以第一步就需要更换腾讯的sdk


一对一app源码开发.png


下载专业版的sdk。然后替换liteavsdk.jar,替换.so文件


图片3.png


二、代码方面的调整

由于换了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

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任