Exemple #1
0
		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);
        }
Exemple #2
0
		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);
			};
        }
Exemple #3
0
		public DataWebSocket(DiscordSimpleClient client)
			: base(client)
		{
		}