private void Window_Loaded(object sender, RoutedEventArgs e) { LocalizeUI(); mWasapiPlay = new WasapiCS(); mWasapiPlay.Init(); mWasapiRec = new WasapiCS(); mWasapiRec.Init(); mCaptureDataArrivedDelegate = new Wasapi.WasapiCS.CaptureCallback(CaptureDataArrived); mWasapiRec.RegisterCaptureCallback(mCaptureDataArrivedDelegate); mPlayWorker = new BackgroundWorker(); mPlayWorker.DoWork += new DoWorkEventHandler(PlayDoWork); mPlayWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(PlayRunWorkerCompleted); mPlayWorker.WorkerSupportsCancellation = true; mPlayWorker.WorkerReportsProgress = true; mPlayWorker.ProgressChanged += new ProgressChangedEventHandler(PlayWorkerProgressChanged); mRecWorker = new BackgroundWorker(); mRecWorker.DoWork += new DoWorkEventHandler(RecDoWork); mRecWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(RecRunWorkerCompleted); mRecWorker.WorkerSupportsCancellation = true; UpdateDeviceList(); mSyncTimeout = new DispatcherTimer(); mSyncTimeout.Tick += new EventHandler(SyncTimeoutTickCallback); mSyncTimeout.Interval = new TimeSpan(0, 0, 5); textBoxLog.Text = string.Format("WasapiBitmatchChecker version {0}\r\n", AssemblyVersion); mStateChanged = new Wasapi.WasapiCS.StateChangedCallback(StateChangedCallback); mWasapiPlay.RegisterStateChangedCallback(mStateChanged); }