1. 总体架构



2. 主要代码模块及功能描述


1)CameraFragment(主界面):根据房间状态判断建立会话还是直接进入到通话界面。

2) SelectNetworkActivity2(二维码扫描界面):包含Wi-Fi信息输入,二维码格式定义以及二维码生成等功能模块。

3) DualChatActivity(通话界面):包含视频流加载,视频声音控制,建立会话,发送邀请等功能模块。

4)MeFragment(个人信息界面):显示并修改昵称,显示系统版本号。


3 重点代码部分


1)openWebSocket():建立websocket连接,用于接收服务器返回的消息

2)closeWebSocket():关闭websocket连接

3)appRegister():创建房间

4)createSession():创建会话

5)closeSession():关闭会话

6)getRoomInfo():获取房间状态

7)通过微信小程序发送通话邀请的代码:

createSession( );//创建session


String appId = "wxd2ce9740ed97a32a";//这个ID可以在微信开发平台上找到

IWXAPI api = WXAPIFactory.createWXAPI(this, appId);

WXMiniProgramObject object = new WXMiniProgramObject( );

object.webpageUrl = "www.foream.com";

object.userName = "gh_885fb1cdacb2";

object.path = "/pages/livestart/playpush/playpush?room_id=" + room_id + "&open_id=" + open_id + "&session_key=" + session_key;

object.withShareTicket = true;


WXMediaMessage message = new WXMediaMessage( );

message.title = nickname + "邀请你进行视频通话";

message.description = nickname + "邀请你进行视频通话";

Bitmap thumb = BitmapFactory.decodeResource(getResources( ), R.drawable.live_share_bg);

message.setThumbImage(thumb);

message.mediaObject = object;


SendMessageToWX.Req req = new SendMessageToWX.Req( );

req.message = message;

req.scene = WXSceneSession;

api.sendReq(req);

 


8)在app/build.gradle文件中填入签名文件信息,证书需要与提供到微信开发平台的一致,否则会无法打开微信分享。

signingConfigs {

    release {

        storeFile file("签名文件路径")

        storePassword "storePassword"

        keyAlias "keyAlias"

        keyPassword " keyPassword "

    }

}

 

如您需求源码进行二次开发,请联络技术支持中心 info@foream.com






文档更新时间: 2019-03-19 16:26   作者:admin