示例#1
0
        public static async Task Main(string[] args)
        {
            Console.WriteLine("you'll need a running instance of https://github.com/jishi/node-sonos-http-api");

            Console.Write("please enter the ip address:");
            var ip = Console.ReadLine();

            Console.WriteLine("please enter the port:");
            var port = 5005;

            while (!int.TryParse(Console.ReadLine(), out port))
            {
                Console.WriteLine("invalid number, please enter the port:");
            }

            var client = new SonosClient(ip, port);

            var zones = await client.GetAllZones();

            Console.WriteLine("the following rooms have been found:");
            foreach (var roomName in zones.SelectMany(z => z.Members.Select(m => m.RoomName)))
            {
                Console.WriteLine($" - {roomName}");
            }

            var roomToChange = zones.FirstOrDefault()?.Members.FirstOrDefault()?.RoomName;

            if (!string.IsNullOrEmpty(roomToChange))
            {
                Console.WriteLine($"lowering volume by 10% on {roomToChange}");
                await client.SetRelativeVolume(roomToChange, -10);

                Thread.Sleep(5000);

                Console.WriteLine($"increasing volume by 10% on {roomToChange}");
                await client.SetRelativeVolume(roomToChange, 10);

                Thread.Sleep(5000);

                Console.WriteLine($"pause on {roomToChange}");
                await client.Pause(roomToChange);

                Thread.Sleep(5000);

                Console.WriteLine($"resume on {roomToChange}");
                await client.Resume(roomToChange);
            }


            Console.Write("press enter to quit");
            Console.ReadLine();
        }
示例#2
0
        static void Main(string[] args)
        {
            try
            {
                SonosClient sonosClient;
                string      ip = ConfigurationSettings.AppSettings["SONOS_IP"];
                int         port;

                if (Int32.TryParse(ConfigurationSettings.AppSettings["SONOS_PORT"], out port))
                {
                    sonosClient = new SonosClient(ip, port);
                }
                else
                {
                    sonosClient = new SonosClient(ip);
                }

                //var deviceDescription = sonosClient.GetDeviceDescriptionNew().Result;

                var playing = sonosClient.IsPlaying().Result;
                var volume  = sonosClient.GetVolume().Result;

                var result = sonosClient.Play().Result;

                Thread.Sleep(5000);

                result = sonosClient.Next().Result;

                Thread.Sleep(5000);

                result = sonosClient.Previous().Result;

                Thread.Sleep(5000);

                result = sonosClient.SetVolume(0).Result;

                Thread.Sleep(5000);

                result = sonosClient.SetVolume(25).Result;

                Thread.Sleep(5000);

                result = sonosClient.Pause().Result;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#3
0
 /// <summary>
 /// Setup the device
 /// </summary>
 public void Prepare()
 {
     Sonos = new SonosClient(SonosIP);
     timer.Start();
 }