Example #1
0
        private RemoteControlVolumes GetVolumeIO()
        {
            RemoteControlVolumes volumes = new RemoteControlVolumes();

            foreach (MMDevice dev in GetListOfOutputDevices())
            {
                foreach (ApplicationController appOut in GetApplicationsMixer(dev))
                {
                    ApplicationController appDev = GetDeviceController(dev);
                    RemoteControlVolume   audio  = new RemoteControlVolume();
                    audio.name   = appOut.processName;
                    audio.volume = (int)(appOut.getVolume() * 100);
                    audio.mute   = appOut.getMute();
                    audio.device = appDev.device.FriendlyName;
                    audio.output = true;
                    audio.icon   = ProcessUtils.ProcessIcon(appOut.session.GetProcessID);
                    volumes.Add(audio);
                }
            }

            foreach (MMDevice dev in GetListOfInputDevices())
            {
                RemoteControlVolume audio = new RemoteControlVolume();

                audio.name   = dev.FriendlyName;
                audio.mute   = dev.AudioEndpointVolume.Mute;
                audio.volume = (int)(dev.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
                audio.device = dev.FriendlyName;
                audio.output = false;
                volumes.Add(audio);
            }

            return(volumes);
        }
        private RemoteControlData GetVolumes(RemoteControlData wsData)
        {
            RemoteControlVolumes volumes = new RemoteControlVolumes();

            VolumeOrderData[] orderVolumes = storeService.read <VolumeOrderData[]>();
            foreach (MMDevice dev in audioService.GetListOfOutputDevices())
            {
                foreach (ApplicationController appOut in audioService.GetApplicationsMixer(dev))
                {
                    ApplicationController appDev = audioService.GetDeviceController(dev);
                    RemoteControlVolume   audio  = new RemoteControlVolume();
                    audio.name   = appOut.processName;
                    audio.volume = (int)(appOut.getVolume() * 100);
                    audio.mute   = appOut.getMute();
                    audio.device = appDev.device.FriendlyName;
                    audio.output = true;
                    audio.icon   = ProcessUtils.ProcessIcon(appOut.session.GetProcessID);
                    audio.id     = audio.name + "|" + audio.device;
                    audio.order  = GetVolumeOrder(orderVolumes, audio.device + audio.name);
                    volumes.Add(audio);
                }
            }

            foreach (MMDevice dev in audioService.GetListOfInputDevices())
            {
                RemoteControlVolume audio = new RemoteControlVolume();

                audio.name   = dev.FriendlyName;
                audio.mute   = dev.AudioEndpointVolume.Mute;
                audio.volume = (int)(dev.AudioEndpointVolume.MasterVolumeLevelScalar * 100);
                audio.device = dev.FriendlyName;
                audio.output = false;
                audio.order  = GetVolumeOrder(orderVolumes, audio.device + audio.name);
                volumes.Add(audio);
            }

            wsData.data = volumes;

            return(wsData);
        }