Привязка индикатора выполнения в Visual Studio к асинхронному процессу Android Xamarin - PullRequest
0 голосов
/ 30 мая 2018

Я пытался связать процесс загрузки YoutubeDownloader с индикатором выполнения в Xamarin.Однако я потерпел неудачу, пытаясь сделать это до сих пор.Загрузка продолжается успешно.Я пробовал и индикатор выполнения загрузки уведомлений Android, и индикатор выполнения, предоставленный visual studio (xamarin).Я использую библиотеку YoutubeExplode для процесса загрузки.Я хотел бы знать, как заставить каждый из них работать, однако одного решения будет достаточно.

                var id = YoutubeClient.ParseVideoId(ytlink);
                var video = await client.GetVideoAsync(id);

                var title = video.Title;
                var StreamInfoSet = await client.GetVideoMediaStreamInfosAsync(id);
                var StreamInfo = StreamInfoSet.Audio.WithHighestBitrate();

                await client.DownloadMediaStreamAsync(StreamInfo, System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, title + ".mp3"));

РЕДАКТИРОВАТЬ (Все еще не заставить работать индикатор выполнения:

var handler = new Progress<double>(p => Progress = p);
                await client.DownloadMediaStreamAsync(StreamInfo, System.IO.Path.Combine(Android.OS.Environment.ExternalStorageDirectory.Path, title + ".mp3"),handler);
...