private static void Run() { IList <SonosSpeaker> speakers = new SonosDiscoveryService().FindSpeakers().Result; foreach (SonosSpeaker sonosSpeaker in speakers) { Console.WriteLine(sonosSpeaker.Name + " (" + sonosSpeaker.Uuid + ")"); } SonosSpeaker speaker = speakers.FirstOrDefault(x => x.Name.StartsWith("J")); speaker.Control.OnUpdate += Control_OnUpdate; Console.WriteLine("Controlling " + speaker.Name); UPnPServer server = new UPnPServer(); server.Start(24452); speaker.Control.SubscribeToEvents(server); while (true) { string line = Console.ReadLine(); if (line.StartsWith("a")) { speaker.Control.Play().Wait(); } else if (line.StartsWith("s")) { speaker.Control.Pause().Wait(); } else if (line.StartsWith("n")) { speaker.Control.Next().Wait(); } else if (line.StartsWith("v")) { speaker.Control.SetVolume(int.Parse(line.Remove(0, 1).Trim())).Wait(); } else if (line.StartsWith("b")) { Console.WriteLine(speaker.Control.GetVolume().Result); } else if (line.StartsWith("u")) { AddUriQueueResponse result = speaker.Control.AddURITOQueue( "x-sonos-spotify:spotify%3atrack%3a456lFrF5OrYuCffSHSaYfs?sid=9&flags=8224&sn=1", "", 0, true).Result; Console.WriteLine("TRACK NR: " + result.FirstTrackNumberEnqueued); speaker.Control.Seek(SeekUnitType.TrackNumber, result.FirstTrackNumberEnqueued.ToString()).Wait(); speaker.Control.Play().Wait();; } else if (line.StartsWith("q")) { break; } } }
public void WhenDevicesExist_ThenDetectThem() { var sut = new SonosDiscoveryService(); sut.StartScan(); Thread.Sleep(3000); Assert.That(sut.Players.Count, Is.GreaterThan(0)); }
private void MainForm_Load(object sender, EventArgs e) { shutUpButton.Enabled = true; stopButton.Enabled = false; toolStripStatusLabel.Text = string.Empty; _discoveryService = new SonosDiscoveryService(); _discoveryService.PlayersChanged += PlayersChanged; _deviceService = new SonosDeviceService(); _sonosControllerFactory = new SonosControllerFactory(); }