public VoiceWebSocket(DiscordSimpleClient client) : base(client) { _rand = new Random(); _decoders = new ConcurrentDictionary<uint, OpusDecoder>(); _sendQueue = new ConcurrentQueue<byte[]>(); _sendQueueWait = new ManualResetEventSlim(true); _sendQueueEmptyWait = new ManualResetEventSlim(true); _targetAudioBufferLength = client.Config.VoiceBufferLength / 20; //20 ms frames _encodingBuffer = new byte[MaxOpusSize]; _ssrcMapping = new ConcurrentDictionary<uint, string>(); _encoder = new OpusEncoder(48000, 1, 20, Opus.Application.Audio); }
public WebSocket(DiscordSimpleClient client) { _client = client; _logLevel = client.Config.LogLevel; _loginTimeout = client.Config.ConnectionTimeout; _cancelToken = new CancellationToken(true); _connectedEvent = new ManualResetEventSlim(false); #if DNXCORE50 _engine = new BuiltInWebSocketEngine(client.Config.WebSocketInterval); #else _engine = new WSSharpWebSocketEngine(this, client.Config.UserAgent, client.Config.WebSocketInterval); #endif _engine.ProcessMessage += async (s, e) => { if (_logLevel >= LogMessageSeverity.Debug) RaiseOnLog(LogMessageSeverity.Debug, $"In: " + e.Message); await ProcessMessage(e.Message); }; }
public DataWebSocket(DiscordSimpleClient client) : base(client) { }