static void Main(string[] args) { ManualResetEventSlim mr = new ManualResetEventSlim(); var client = new WebSocketClient(new Uri("ws://localhost:81/")); ObservableSoundCapture capture = new ObservableSoundCapture(); ObservableSpeexEncoder encoder = new ObservableSpeexEncoder(6400); capture.Subscribe(encoder); var encoderSender = encoder.Select(x => new SenderModel("TestChannel", true, x)); capture.Start(); encoderSender.Subscribe(client); client.Start(); mr.Wait(); }
public ReceiverGatawayService() { ObservableSoundCapture capture = new ObservableSoundCapture(); ObservableSpeexEncoder encoder = new ObservableSpeexEncoder(6400); capture.Subscribe(encoder); var encoderSender = encoder.Delay(TimeSpan.FromMilliseconds(3000)).Select(x => new SenderModel("TestChannel", true, x)); capture.Start(); _server = new ObservableListenerServer("http://*:81/"); var timer = Observable.Interval(TimeSpan.FromMilliseconds(100)) .Select(x => new SenderModel("TestChannel", false, Encoding.ASCII.GetBytes(x.ToString()))) .Publish() ; timer.Connect(); _gateway = new ReceiverGateway(Auth); encoderSender.Subscribe(_gateway); }