Ejemplo n.º 1
0
        public async Task <double> SetVolumeAsync(double volume, CancellationToken cancellationToken)
        {
            ThrowIfDisposed();

            if (Math.Abs(_volume - volume) < 0.1)
            {
                return(_volume);
            }

            var normalizedVolume = volume.NormalizeVolume();

            ComThread.Invoke(() => SimpleAudioVolume.SetMasterVolume(normalizedVolume, Guid.Empty));
            await _volumeResetEvent.WaitOneAsync(cancellationToken);

            return(_volume);
        }