public async Task<ObservableCollection<Chromecast>> LocateDevicesAsync() { using (var deviceLocator = new SsdpDeviceLocator()) { var foundDevices = await deviceLocator.SearchAsync("urn:dial-multiscreen-org:device:dial:1", TimeSpan.FromMilliseconds(5000)); foreach (var foundDevice in foundDevices) { var fullDevice = await foundDevice.GetDeviceInfo(); Uri myUri; Uri.TryCreate("https://" + foundDevice.DescriptionLocation.Host, UriKind.Absolute, out myUri); var chromecast = new Chromecast { DeviceUri = myUri, FriendlyName = fullDevice.FriendlyName }; DiscoveredDevices.Add(chromecast); } } return DiscoveredDevices; }
public void ConnectToChromecast(Chromecast chromecast) { ConnectedChromecast = chromecast; ChromeCastClient.ConnectChromecast(chromecast.DeviceUri); }