using System; using System.IO; using System.Threading.Tasks; namespace Discord.Audio { public interface IAudioClient { event Func Connected; event Func Disconnected; event Func LatencyUpdated; /// Gets the current connection state of this client. ConnectionState ConnectionState { get; } /// Gets the estimated round-trip latency, in milliseconds, to the gateway server. int Latency { get; } Task DisconnectAsync(); Stream CreateOpusStream(int samplesPerFrame, int bufferSize = 4000); Stream CreatePCMStream(int samplesPerFrame, int? bitrate = null, OpusApplication application = OpusApplication.MusicOrMixed, int bufferSize = 4000); } }