当前位置: 首页 > 工具软件 > anychat > 使用案例 >

anychat java_开发流程 · anychat_sdk_java_doc · 看云

关浩壤
2023-12-01

#### **开发流程**

在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。

#### **1.初始化SDK**

加载资源,应用程序中只需要执行一次,其他的功能接口都必须在初始化之后才能正常使用。

~~~

AnyChatSDK anychatSDK = AnyChatSDK.getInstance();

// 注册重连失败监听

anychatSDK.registerLinkCloseEvent(this);

AnyChatLoginEvent loginEvent = new AnyChatLoginEvent() {

//连接成功通知

@Override

public void onLogin(int userId) {

//data.userId 登录人账户

}

//连接断开,原因可能有签名错误,重复登录,网络异常断开...

@Override

public void onDisconnect(AnyChatResult result) {

//result.code 错误码

//result.msg 错误描述

}

};

//登录人账户(nickName:'demo@anychat.cn')

//AnyChat服务器地址,如连接云平台,地址为cloud.anychat.cn,端口为8906(serverIp: "demo.anychat.cn")

//AnyChat服务器端口号(serverPort: 8906)

AnyChatInitOpt initOpt = new AnyChatInitOpt("demo@anychat.cn","demo.anychat.cn",8906,loginEvent);

anychatSDK.initSDK(initOpt);

~~~

#### **2.进入房间**

```

AnyChatSDK anychatSDK = AnyChatSDK.getInstance();

AnyChatCallbackEvent enterRoomCallback = new AnyChatCallbackEvent() {

@Override

public void onCallbackEvent(AnyChatResult result, JSONObject JsonData) {

//result.errCode == 0 success,其他为相应错误代码

//JsonData.roomId 成功进入的房间号

}

};

anychatSDK.enterRoom("1","123",enterRoomCallback) {

```

#### **3.打开自己的麦克风以及摄像头**

```

AnyChatSDK anychatSDK = AnyChatSDK.getInstance();

//获取本地麦克风对象列表,通常只有一个

List microphones = brac.getMicrophones();

for (AnyChatMicrophone microphone : microphones) {

//microphone.name 名称

//......

}

//打开其中一个麦克风

microphone.open();

//获取本地摄像头对象列表,通常只有一个

List cameras = brac.getCameras();

for (AnyChatCamera camera : cameras) {

//camera.name 名称

//......

}

//打开其中一个摄像头,并在页面上显示视频画面

camera.open();

```

#### **4.接收对方的音视频流**

```

AnyChatSDK anychatSDK = AnyChatSDK.getInstance();

//接收对方音频流

//remoteUserId:对方用户ID

anychatSDK.getRemoteAudioStream({

remoteUserId

});

//接收对方视频流,并在页面上显示

//context

//remoteUserId:对方用户ID

//surfaceView: 显示视频的控件

anychatSDK.getRemoteVideoStream(context, remoteUserId, surfaceView);

```

#### **5.结束音视频通话**

结束通话时,需停止接收对方的音视频流,关闭自己的麦克风以及摄像头,退出房间以及退出sdk。

```

AnyChatSDK anychatSDK = AnyChatSDK.getInstance();

//终止对方视频流

//remoteUserId:对方用户ID

//index视频绑定的索引号,由getRemoteVideoStream方法返回

anychatSDK.cancelRemoteVideoStream(remoteUserId,index);

//终止对方音频流

//remoteUserId:对方用户ID

anychatSDK.cancelRemoteAudioStream(remoteUserId);

//关闭摄像头

camera.close();

//关闭麦克风

microphone.close();

//离开房间

anychatSDK.leaveRoom();

//退出sdk

anychatSDK.logout()

```

 类似资料: