Beispiel #1
0
        public override async Task PreloadAsync()
        {
            IsLoadCompleted = false;
            Task loadAudio = Task.Run(async() =>
            {
                mPlayer.LoadAsync();
                while (!mPlayer.IsLoadCompleted)
                {
                    await Task.Delay(10);
                }
            });
            Task <AnimatedGif?> loadGif = AnimatedGif.LoadFromFileAsync(Path.Combine(CommonUtilities.RootDirectory, mAnimation));
            await Task.WhenAll(loadAudio, loadGif);

            mGif = loadGif.Result;

            IsLoadCompleted = true;
            SetInfo("Cached", "Yes");
            Duration = Math.Max(Duration, (mGif?.Duration / 1000f) ?? 2);
            SetInfo("Duration", $"{Duration:0.00}s");
        }