public async Task <IActionResult> Music(IFormFile file, int roomid, string owner)
        {
            var ismusic = true;

            try
            {
                var f = new UploadFIle(file, ismusic);
                if (f.CheckIfExcelFile())
                {
                    await f.WriteFile();
                }

                var streaminginfo = new StreamingInfo {
                    FileName = f.Name, Owner = owner, RoomID = roomid, FileOgName = f.OriginalName
                };

                if (!Streaming.Instance.StreamingQue.ContainsKey(streaminginfo.RoomID))
                {
                    await Streaming.Instance.AddRoom(streaminginfo.RoomID);
                }

                Streaming.Instance.EnQue(streaminginfo.RoomID, streaminginfo, ismusic);

                var info = new StreamingQueInfo(Streaming.Instance.StreamingQue[roomid]);
                await _hubContext.Clients.Group($"{roomid}").SendAsync("StreamingQueInfo", info);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(StatusCode(500, ex.Message));
            }
        }
示例#2
0
 public async Task GetStreamingQueInfo(int roomId)
 {
     if (!Streaming.Instance.StreamingQue.ContainsKey(roomId))
     {
         await Streaming.Instance.AddRoom(roomId);
     }
     var info = new StreamingQueInfo(Streaming.Instance.StreamingQue[roomId]);
     await _hubContext.Clients.Group($"{roomId}").SendAsync("StreamingQueInfo", info);
 }
示例#3
0
        public async Task SendQueInfo(int roomId)
        {
            if (!Streaming.Instance.StreamingQue.ContainsKey(roomId))
            {
                await Streaming.Instance.AddRoom(roomId);
            }
            var info = new StreamingQueInfo(Streaming.Instance.StreamingQue[roomId]);
            await Clients.Group($"{roomId}").SendAsync("StreamingQueInfo", info);

            await Clients.Group($"{roomId}").SendAsync("StreamingInfo", Streaming.Instance.RoomFFmpeg[roomId].Info);
        }