public async void c_Selected(object sender, EventArgs e) { var menuItem = (System.Windows.Forms.ToolStripMenuItem)sender; var device = menuItem.Tag as Chromecast; if (device != null) { if (menuItem.Checked) { menuItem.Checked = false; ChromecastService.ChromeCastClient.ConnectedChanged -= ChromeCastClient_Connected; ChromecastService.ChromeCastClient.ApplicationStarted -= Client_ApplicationStarted; await _controller.Stop(); await _controller.StopApplication(); //TODO: Disconnect from the chromecast. Dispose the socket connection //reference: https://github.com/tapanila/SharpCaster/blob/master/SharpCaster/ChromeCastClient.cs Line:191 } else { menuItem.Checked = true; ChromecastService.ChromeCastClient.ConnectedChanged += ChromeCastClient_Connected; ChromecastService.ChromeCastClient.ApplicationStarted += Client_ApplicationStarted; ChromecastService.ConnectToChromecast(device); } } }
public async Task StopApplication() { try { if (_controller != null) { await _controller.StopApplication(); } } catch (Exception) { } }
public async Task StopApplication() { await _controller.StopApplication(); }