private async void ExecuteSpeedTest(SpeedTestSource source, Server server = null) { try { SpeedGrid.IsEnabled = false; DownloadSpeed speed = null; if (source == SpeedTestSource.Speedtest) { speed = await SpeedTestClient.GetDownloadSpeed(server, SpeedTestUnit.KiloBitsPerSecond); } else { speed = await FastClient.GetDownloadSpeed(SpeedTestUnit.KiloBitsPerSecond); } var message = $"Source: {speed.Source} Download Speed: {speed?.Speed} {speed.Unit}"; if (speed?.Server?.Id != null) { message += $" (Server Id = {speed?.Server?.Id})"; } ShowMessage(message); SpeedGrid.IsEnabled = true; } catch (System.Exception ex) { ShowMessage(ex.Message); SpeedGrid.IsEnabled = true; } }
private async void ExecuteSpeedTest(Server server = null) { try { SpeedGrid.IsEnabled = false; var speed = await SpeedTestClient.GetDownloadSpeed(server, Enums.SpeedTestUnit.KiloBitsPerSecond); ShowMessage($"Download Speed: {speed?.Speed} {speed.Unit} (Server Id = {speed?.Server?.Id})"); SpeedGrid.IsEnabled = true; } catch (System.Exception ex) { ShowMessage(ex.Message); SpeedGrid.IsEnabled = true; } }
/// <summary> /// Gets download speed in megabits and sets song streaming quality. /// </summary> public static async void SetSongStreamingQualityAutomatically() { try { var speedMb = await SpeedTestClient.GetDownloadSpeed(unit : SpeedTest.Net.Enums.SpeedTestUnit.MegaBitsPerSecond); if (speedMb.Speed >= 20 && speedMb.Speed <= 40) { SongStreamingQualitySelected = "mediumquality"; } else if (speedMb.Speed > 40) { SongStreamingQualitySelected = "highquality"; } } catch (Exception exception) { Console.WriteLine("Exception@SetSongStreamingQualityAutomatically -> " + exception); } }