/// <summary> /// 用户推流记录 /// </summary> /// <param name="connectId"></param> /// <param name="index"></param> /// <param name="bVideo"></param> /// <param name="bAudio"></param> /// <returns></returns> public bool AddStream(string connectId, int index, bool bVideo, bool bAudio) { lock (obj) { User user = getUser(connectId); if (user == null) { LogHelper.LogMessage($"用户{connectId}没有注册,不能添加流.", OeipLogLevel.OEIP_WARN); return(false); } bool bHave = streams.Exists((p) => p.User == user && p.Index == index); if (bHave) { LogHelper.LogMessage($"用户{connectId}已经添加流{index},不能再次添加.", OeipLogLevel.OEIP_WARN); return(false); } if (user != null) { StreamDesc stream = new StreamDesc(); stream.bAudio = bAudio; stream.bVideo = bVideo; stream.Index = index; stream.User = user; streams.Add(stream); OnStreamChange(stream, true); return(true); } } return(false); }
private void OnStreamChange(StreamDesc desc, bool bAdd) { var amessage = bAdd ? "添加" : "删除"; LogHelper.LogMessage($"房间 {desc.User.InRoom.Name} {amessage}流,流用户:{desc.User.ConnectId}-流索引:{desc.Index}"); if (bAdd) { string pullUri = $"{ desc.User.InRoom.Server }:{ desc.User.InRoom.Port}/live/{desc.User.InRoom.Name}_{desc.User.Id}_{desc.Index}"; LogHelper.LogMessage($"生成地址:{ pullUri}"); } //OnStreamChangeEvent?.Invoke(desc, bAdd); LiveHub.Hub.Clients.Group(desc.User.InRoom.Name)?.OnStreamUpdate(desc.User.Id, desc.Index, bAdd); }