49 lines
1.5 KiB
C#
49 lines
1.5 KiB
C#
|
using Luski.net.Sound;
|
|||
|
using System;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using static Luski.net.Exceptions;
|
|||
|
|
|||
|
namespace Luski.net.Interfaces;
|
|||
|
|
|||
|
public interface IAudioClient
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// the event is fired when your <see cref="IAudioClient"/> has joined the call
|
|||
|
/// </summary>
|
|||
|
event Func<Task> Connected;
|
|||
|
/// <summary>
|
|||
|
/// Tells you if you are muted
|
|||
|
/// </summary>
|
|||
|
bool Muted { get; }
|
|||
|
/// <summary>
|
|||
|
/// Tells you if you are deafned
|
|||
|
/// </summary>
|
|||
|
bool Deafened { get; }
|
|||
|
/// <summary>
|
|||
|
/// Toggles if you are speaking to your friends
|
|||
|
/// </summary>
|
|||
|
void ToggleMic();
|
|||
|
/// <summary>
|
|||
|
/// Toggles if you can hear audio
|
|||
|
/// </summary>
|
|||
|
void ToggleAudio();
|
|||
|
/// <summary>
|
|||
|
/// Changes what <see cref="RecordingDevice"/> the call gets its data from
|
|||
|
/// </summary>
|
|||
|
/// <param name="Device">This is the <see cref="RecordingDevice"/> you want to recored from</param>
|
|||
|
/// <exception cref="NotConnectedException"></exception>
|
|||
|
void RecordSoundFrom(RecordingDevice Device);
|
|||
|
/// <summary>
|
|||
|
/// Changes what <see cref="PlaybackDevice"/> the call gets its data from
|
|||
|
/// </summary>
|
|||
|
/// <param name="Device">This is the <see cref="PlaybackDevice"/> you want to heare outhers</param>
|
|||
|
/// <exception cref="NotConnectedException"></exception>
|
|||
|
void PlaySoundTo(PlaybackDevice Device);
|
|||
|
/// <summary>
|
|||
|
/// Joins the Voice call
|
|||
|
/// </summary>
|
|||
|
/// <exception cref="MissingEventException"></exception>
|
|||
|
void JoinCall();
|
|||
|
void LeaveCall();
|
|||
|
}
|