/* * Copyright (c) 2023 ETH Zürich, Educational Development and Technology (LET) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using SafeExamBrowser.SystemComponents.Contracts.Audio.Events; namespace SafeExamBrowser.SystemComponents.Contracts.Audio { /// /// Defines the functionality of the audio system component. /// public interface IAudio : ISystemComponent { /// /// The full name of the audio device, or an empty string if not available. /// string DeviceFullName { get; } /// /// The short audio device name, or an empty string if not available. /// string DeviceShortName { get; } /// /// Indicates whether an audio output device is available. /// bool HasOutputDevice { get; } /// /// Indicates whether the audio output is currently muted. /// bool OutputMuted { get; } /// /// The current audio output volume. /// double OutputVolume { get; } /// /// Fired when the volume of the audio device has changed. /// event VolumeChangedEventHandler VolumeChanged; /// /// Mutes the currently active audio device. /// void Mute(); /// /// Unmutes the currently active audio device. /// void Unmute(); /// /// Sets the volume of the currently active audio device to the given value. /// void SetVolume(double value); } }