准备:利用环信平台搭建服务
进入 https://console.easemob.com/user/login,创建自己的应用和IM用户,并创建聊天室
复制自己的应用AppKey,以及聊天室id
引用sdk
<script src="./WebIMConfig.js"></script>
<script src="./sdk/websdk3.1.4.js"></script>
<script src="./sdk/EMedia_x1v1.js"></script>
<script src="./sdk/EMedia_sdk-dev.js"></script>
var conn = {};
console.log(WebIM, window.WebIM);
WebIM.config = config; // 这里一定要配置自己的聊天室id和群组id,后面会取
WebIM.Emoji=config.emoji;
conn = WebIM.conn = new WebIM.connection({
appKey: WebIM.config.appkey,
isHttpDNS: WebIM.config.isHttpDNS,
isMultiLoginSessions: WebIM.config.isMultiLoginSessions,
host: WebIM.config.Host,
https: WebIM.config.https,
url: WebIM.config.xmppURL,
apiUrl: WebIM.config.apiURL,
isAutoLogin: false,
heartBeatWait: WebIM.config.heartBeatWait,
autoReconnectNumMax: WebIM.config.autoReconnectNumMax,
autoReconnectInterval: WebIM.config.autoReconnectInterval,
isStropheLog: WebIM.config.isStropheLog,
delivery: WebIM.config.delivery
});
conn.listen({
onOpened: function (message) { //连接成功回调
var myDate = new Date().toLocaleString();
console.log("%c [opened] 连接已成功建立", "color: green");
console.log(myDate);
// rek();
console.log(myDate + "登陆成功");
$("#user_main").html(host_user);
joinRoom(cType);
},
onClosed: function (message) {
layerOpen("登录异常!")
console.log("onclose:" + message);
console.log(message);
}, //连接关闭回调
onTextMessage: function (message) {
console.log('onTextMessage: ', message);
if(message.type==="chatroom" &&message.to===WebIM.config.roomId){ //
insertChatMessageDOM(message.sourceMsg,message.from,false);
}
if (message.ext.conferenceId != undefined) {
emedia.mgr.exitConference();
var truthBeTold = window.confirm((message.from + "邀请您加入会议"));
if (truthBeTold) {
setTimeout(function () {
emedia.mgr.joinConference(message.ext.conferenceId, message.ext.password, "进入会议").then(function () {
console.log("********加入会议成功*******");
/* $("#cofferId").html(message.ext.conferenceId);
$("#cofferIdPass").html(message.ext.password);*/
let videoId ="video_main";
var videoCreate = document.getElementById(videoId);
var constaints = { audio: true, video: true };
emedia.mgr
.publish(constaints, videoCreate, "加入会议成功后 发布视频流")
.then(function (pushedStream) {
//stream 对象
})
.catch(function (error) {