static void Main(string[] args) { // Client for (var i = 0; i < WaveIn.DeviceCount; i++) { Console.WriteLine(WaveIn.GetCapabilities(i).ProductName); } var ip = new IPEndPoint(IPAddress.Parse("18.185.114.115"), 5555); var sender = new Sender(ip); var audioSender = new NetworkAudioSender(0, sender); var audioReceiver = new NetworkAudioPlayer(sender); while (true) { var input = Console.ReadLine(); if (input == "q") { break; } else if (input != null) { sender.Send(Encoding.UTF8.GetBytes(input)); } } audioReceiver.Dispose(); audioSender.Dispose(); sender.Dispose(); // Server /* * var server = new UDPServer(5555); * * while (true) * { * if (Console.ReadLine() == "q") break; * } * server.Dispose(); */ }
private void Receive() { AudioReceiver = new UdpAudioReceiver(IpAddress); NetworkAudioPlayer = new NetworkAudioPlayer(new ALawChatCodec(), AudioReceiver); }
private void listenEvents() { socket.On(Socket.EVENT_CONNECT, () => { connected = true; }); socket.On(Socket.EVENT_DISCONNECT, () => { disconnect(); }); socket.On("stop streaming", (data) => { var map = Utils.GetMapFromData(data); var stop = Convert.ToBoolean(map["stop"]); if (stop) { btnLive.BackColor = Color.Gray; } }); socket.On("login", (data) => { var map = Utils.GetMapFromData(data); lblNumber.Text = Convert.ToInt32(map["numUsers"]).ToString() + " players"; var message = map["message"].ToString(); if (message == "success") { lbNotifications.Items.Add("You joined <3"); var reciever = new SocketIoAudioReceiver(socket); player = new NetworkAudioPlayer(codec, reciever); btnConnect.Text = "Disconnect"; enterName.Close(); btnChat.Enabled = true; lblName.Text = "Player: " + user.Name; } else { lbNotifications.Items.Add(message); } }); socket.On("mc connected", (data) => { var map = Utils.GetMapFromData(data); game = Game.FromJson(map["game"].ToString()); lbNotifications.Items.Add(String.Format("😁 MC {0} joined", game.User.Name)); lblAward.Text = String.Format("$ {0}", game.Award); }); socket.On("mc disconnected", (data) => { var map = Utils.GetMapFromData(data); var mc = User.FromJson(map["user"].ToString()); lbNotifications.Items.Add(String.Format("😂 MC {0} left", mc.Name)); }); socket.On("next question", (data) => { lbNumberCorrectWrong.Text = ""; var map = Utils.GetMapFromData(data); Question question = Question.FromJson(map["question"].ToString()); // speakQuestion(question); loadQuestions(question); int.TryParse(map["countDown"].ToString(), out seconds); int numberQuestion; int.TryParse(map["index"].ToString(), out numberQuestion); numberQuestion++; lblNumberQuestion.Text = "Question " + numberQuestion.ToString() + " "; timerCountDown = new Thread(countDowner); timerCountDown.Start(); showQuestion(); resetColorButtons(); enableButtons(); }); socket.On("continue players", (data) => { var map = Utils.GetMapFromData(data); int continuePlayers; int stopsPlayers; int.TryParse(map["continue"].ToString(), out continuePlayers); int.TryParse(map["stop"].ToString(), out stopsPlayers); lbNotifications.Items.Add(String.Format("Number of players continued: {0}", continuePlayers)); lbNotifications.Items.Add(String.Format("Number of players stopped: {0}", stopsPlayers)); }); socket.On("new game", (data) => { lbCountDown.Text = ""; lblCorrect.Text = ""; lblNumberQuestion.Text = ""; lblQuestion.Text = ""; lbNumberCorrectWrong.Text = ""; user.NumberCorrect = 0; hideQuestion(); }); socket.On("user joined", (data) => { var map = Utils.GetMapFromData(data); lblNumber.Text = Convert.ToInt32(map["numUsers"]).ToString() + " players"; var user = User.FromJson(map["user"].ToString()); lbNotifications.Items.Add(user.Name + " Joined"); }); socket.On("user left", (data) => { var map = Utils.GetMapFromData(data); lblNumber.Text = Convert.ToInt32(map["numUsers"]).ToString() + " players"; var user = User.FromJson(map["user"].ToString()); lbNotifications.Items.Add(user.Name + " left"); }); socket.On("correct answer", (data) => { var map = Utils.GetMapFromData(data); var correctAnswer = map["answer"].ToString(); disableButtons(); showCorrectAnswer(correctAnswer); if (correctAnswer == answer.Id) { lblQuestion.Text = lblQuestion.Text + "\n👌 Yes! Right answer"; } else { lblQuestion.Text = lblQuestion.Text + "\n😥 Nope! Wrong answer"; } }); socket.On("new message", (data) => { var map = Utils.GetMapFromData(data); var message = MyMessage.FromJson(map["message"].ToString()); lbNotifications.Items.Add(message.UserName + ": " + message.Content); }); socket.On("live video", (data) => { var map = Utils.GetMapFromData(data); imageLive = ImageLive.FromJson(map["image"].ToString()); if (imageLive != null && imageLive.Img1D != null) { btnLive.BackColor = Color.Red; pLive.Refresh(); pLive.Image = IImage.ImageFromStream(imageLive.Img1D); } }); socket.On("tops", (data) => { var map = Utils.GetMapFromData(data); var tops = JsonConvert.DeserializeObject <List <User> >(map["tops"].ToString()); var question = Question.FromJson(map["question"].ToString()); int i = 1; int numCorrectAll = 1; int numWrongAll = 1; int.TryParse(map["numberCorrect"].ToString(), out numCorrectAll); int.TryParse(map["numberWrong"].ToString(), out numWrongAll); lbNumberCorrectWrong.Text = String.Format("\nNumber correct: {0}\nNumber wrong: {1}", numCorrectAll, numWrongAll); tops.ForEach((value) => { var str = String.Format("Top {0}: {1} Correct {2}", i++, value.Name, value.NumberCorrect); lbNotifications.Items.Add(str); if (value.Name == user.Name) { user = value; lblCorrect.Text = String.Format("Correct: {0}", user.NumberCorrect); } }); }); socket.On("congratulations", (data) => { var map = Utils.GetMapFromData(data); double bonus = 0; double.TryParse(map["bonus"].ToString(), out bonus); frmCongrats frmCongrats = new frmCongrats(user.Name, user.NumberCorrect, bonus); frmCongrats.StartPosition = FormStartPosition.CenterParent; frmCongrats.ShowDialog(); }); }