using System.IO; using System.Threading.Tasks; namespace Discord.Audio { public interface IAudioClient { ConnectionState State { get; } Channel Channel { get; } Server Server { get; } Stream OutputStream { get; } Task Join(Channel channel); Task Disconnect(); /// Sends a PCM frame to the voice server. Will block until space frees up in the outgoing buffer. /// PCM frame to send. This must be a single or collection of uncompressed 48Kz monochannel 20ms PCM frames. /// Offset . /// Number of bytes in this frame. void Send(byte[] data, int offset, int count); /// Clears the PCM buffer. void Clear(); /// Blocks until the voice output buffer is empty. void Wait(); } }