private void TitleChangeDetector() { this.Title = string.Empty; DateTime startTime = DateTime.Now; string pendingValue = string.Empty; while (this.BrowserRunning) { string currentTitle = this.ChromeJson.GetValue("title"); if (this.Title != currentTitle) { if (pendingValue == currentTitle) { if (DateTime.Now.Subtract(startTime).Ticks / TimeSpan.TicksPerMillisecond >= this.MinTitleAgeForChangeDetection) { this.Title = pendingValue; StatusManager.Status("Title Changed: " + this.Title); // trigger event if (TitleChangeEvent != null) { this.TitleChangeEvent(this, null); } } } else { startTime = DateTime.Now; pendingValue = currentTitle; } } Thread.Sleep(120); } }
private void Run() { this.Reset(); StatusManager.Status("Recorder starting..."); StatusManager.Indicator(true); this.CaptureDevice.StartRecording(); while (this.KeepRecording) { Thread.Sleep(120); } StatusManager.Status("Recorder stopping..."); this.CaptureDevice.StopRecording(); StatusManager.Indicator(false); }
public void NavigateToNextUrl() { KeyValuePair <string, string>?item = this.NextItem(); string url = item.GetValueOrDefault().Value; if (item != null && !string.IsNullOrWhiteSpace(url)) { StatusManager.Status("Navigating to: " + url); this.Driver.NavigateToUrl(url); } else { StatusManager.Status("Navigating to: about:blank"); this.Driver.NavigateToUrl("about:blank"); this.Driver.Recorder.Stop(); } }
private void SilenceDetector() { DateTime silenceStart = DateTime.Now; bool previouslySilent = true; while (this.BrowserRunning) { if (!this.Recorder.SilenceDetected) { if (previouslySilent) { StatusManager.Status("Sound detected."); previouslySilent = false; if (this.SoundDetectedEvent != null) { this.SoundDetectedEvent(this, null); } } silenceStart = DateTime.Now; } else { if (!previouslySilent) { if (DateTime.Now.Subtract(silenceStart).Ticks / TimeSpan.TicksPerMillisecond >= this.MinIntervalForSilenceDetection) { StatusManager.Status("Silence Detected"); previouslySilent = true; // trigger event if (this.SilenceDetectedEvent != null) { this.SilenceDetectedEvent(this, null); } } } } Thread.Sleep(20); } }
public void WriteOutBuffer(RecordingBuffer buffer, string outputFile) { StatusManager.Status("Saving file: " + outputFile); byte[] waveFile = this.ConvertToWave(buffer.Samples, buffer.WaveFormat); this.WriteMP3(waveFile, outputFile); }
private void RecordingStopped(object sender, NAudio.Wave.StoppedEventArgs e) { StatusManager.Status("WSAPI Recorder stopped."); }