多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
### **开发流程** 在工程准备好了之后,只需简单的几步,即可实现基础的音视频通话。 **1.初始化SDK** 加载资源,应用程序中只需要执行一次,其他的功能接口都必须在初始化之后才能正常使用。 ~~~ //初始化以及登录 var instance=AnyChatWebSDK.sdkInit(initOpt); //初始化参数设置 var initOpt={ //登录人账户 nickName:'demo@anychat.cn', //AnyChat服务器地址,如连接云平台,地址为cloud.anychat.cn,端口为8906 serverIp: "demo.anychat.cn", //AnyChat服务器端口号 serverPort: 8906, //连接成功通知 onLogin: onLogin, //连接断开通知 onDisConnect: onDisConnect, }; //连接成功通知 function onLogin(data) { //data.userId 登录人账户 } //连接断开,原因可能有签名错误,重复登录,网络异常断开... function onDisConnect(result) { //result.code 错误码 //result.msg 错误描述 } ~~~ **2.进入房间** ~~~ instance.enterRoom({ //房间号 roomId:1, //进入房间异步回调 done: onAnyChatEnterRoom }); //进入房间结果通知 function onAnyChatEnterRoom(result, data) { //result.code: 0表示成功,其他表示错误代号 //result.msg: 错误描述 //data.roomId:成功进入的房间号 } ~~~ **3.打开自己的麦克风以及摄像头** ~~~ //获取本地麦克风对象列表,通常只有一个 var microphones = instance.getMicrophones(); for (microphone in microphones) { //microphone.name 名称 //...... } //打开其中一个麦克风 microphone.open(); //获取本地摄像头对象列表,通常只有一个 var cameras = instance.getCameras(); for (camera in cameras) { //camera.name 名称 //...... } //打开其中一个摄像头,并在页面上显示视频画面 //id: 显示视频位置的div层的ID camera.open({ id:xxxx }); ~~~ **4.接收对方的音视频流** ~~~ //接收对方音频流 //remoteUserId:对方用户ID instance.getRemoteAudioStream({ remoteUserId:xxxx }); //接收对方视频流,并在页面上显示 //remoteUserId:对方用户ID //renderId: 显示视频位置的div层的ID instance.getRemoteVideoStream({ remoteUserId:xxxx, renderId:xxxx }); ~~~ **5.结束音视频通话** 结束通话时,需停止接收对方的音视频流,关闭自己的麦克风以及摄像头,退出房间以及退出sdk。 ~~~ //终止对方视频流 //remoteUserId:对方用户ID instance.cancelRemoteVideoStream({ remoteUserId:xxxx }); //终止对方音频流 //remoteUserId:对方用户ID instance.cancelRemoteAudioStream({ remoteUserId:xxxx }); //关闭摄像头 camera.close(); //关闭麦克风 microphone.close(); //离开房间 instance.leaveRoom(); //退出sdk instance.logout() ~~~