Example #1
0
        public async Task RequestVolumeChangeAsync(VolumeLevels value, string deviceID = null)
        {
            deviceID = deviceID ?? ConnectedBluetoothLEDeviceInformation.Id;

            //Send a message to the app service
            var message = new ValueSet();

            message.Add(Commands.Command, Commands.RequestVolumeChange);
            message.Add(Parameters.DeviceID, deviceID);
            message.Add(Parameters.Value, (int)value);

            var responseMessage = await SendMessageAsync(message);

            // check the response message
            if (responseMessage.ContainsKey(Parameters.Result) != true)
            {
                throw new Exception($"The app service response message does not contain a key called \"{Parameters.Result}\"");
            }
            if (responseMessage.ContainsKey(Parameters.Details) != true)
            {
                throw new Exception($"The app service response message does not contain a key called \"{Parameters.Details}\"");
            }

            var result = (bool)responseMessage[Parameters.Result];
            var detail = (string)responseMessage[Parameters.Details];

            if (result != true)
            {
                throw new Exception(detail);
            }
        }
Example #2
0
 public static void UpdateVolumeStatic(VolumeLevels level)
 {
     foreach (var sound in _instance.sounds)
     {
         sound.Volume = level;
     }
 }
Example #3
0
        public void ReloadVolumeLevels()
        {
            string     cleanPath = SharedContentManager.GetCleanPath(this.CMProvider.Global.RootDirectory + "\\Sounds" + "\\SoundLevels.sdl");
            FileStream fileStream;

            try
            {
                fileStream = new FileStream(cleanPath, FileMode.Open, FileAccess.Read);
            }
            catch (Exception ex)
            {
                if (ex is FileNotFoundException || ex is DirectoryNotFoundException)
                {
                    Logger.Log("Sound Levels", LogSeverity.Warning, "Could not find levels file, ignoring...");
                    fileStream = (FileStream)null;
                }
                else
                {
                    Logger.Log("Sound Levels", LogSeverity.Warning, ex.Message);
                    return;
                }
            }
            if (fileStream == null)
            {
                this.VolumeLevels = new VolumeLevels();
            }
            else
            {
                this.VolumeLevels = SdlSerializer.Deserialize <VolumeLevels>(new StreamReader((Stream)fileStream));
            }
        }
Example #4
0
        public void UpdateGlobalVolume(VolumeLevels level)
        {
            SaveManager.Instance.Data.settings.volume = level;
            SaveManager.Instance.Persist();

            OnGlobalVolumeChanged?.Invoke(level);
            UpdateVolumeStatic(level);
        }
Example #5
0
    public void SetVolume(VolumeSlider volumeSlider)
    {
        audioMixer.SetFloat(volumeSlider.volumeType.ToString(), volumeSlider.volume);

        VolumeLevels.Remove(volumeSlider.volumeType);
        VolumeLevels.Add(volumeSlider.volumeType, volumeSlider.volume);

        // Save changes
        SaveSettings();
    }
Example #6
0
        private void UpdateEngineVolume(VolumeLevels level)
        {
            switch (level)
            {
            case VolumeLevels.Loud:
                _engineAudio.volume = _baseVolume;
                break;

            case VolumeLevels.Low:
                _engineAudio.volume = _baseVolume * 0.5f;
                break;

            case VolumeLevels.Mute:
                _engineAudio.volume = 0;
                break;
            }
        }
Example #7
0
 public void UpdateVolume(VolumeLevels level)
 {
     UpdateVolumeStatic(level);
 }
        private async Task <AppServiceResponseStatus> RequestVolumeChangeAsync(string deviceID, VolumeLevels volumeLevel, AppServiceRequest request)
        {
            var device = _devices.FirstOrDefault(D => D.Id == deviceID);

            if (device == null)
            {
                return(await request.SendResponseAsync(new ValueSet()
                {
                    { Parameters.Result, false },
                    { Parameters.Details, $"Not found device by DeviceID. DeviceId=[{deviceID}]" },
                }));
            }

            try
            {
                await device.RequestVolumeChangeAsync(volumeLevel);

                return(await request.SendResponseAsync(new ValueSet()
                {
                    { Parameters.Result, true },
                    { Parameters.Details, device.VolumeLevel.ToString() },
                }));
            }
            catch (Exception e)
            {
                return(await request.SendResponseAsync(new ValueSet()
                {
                    { Parameters.Result, false },
                    { Parameters.Details, e.Message },
                }));
            }
        }