public async void VideoClickExecuteAfter() { try { await Task.Factory.StartNew(async() => { string url = await GetOnlineUrl(VideoInfo.VideoId); if (string.IsNullOrEmpty(url)) { await DispatcherHelper.RunAsync(() => { SheetUtility.CloseVideoPage(); MessageHelpers.ShowError("Url not found.", "Error"); }); } else { VideoModel videoModel = new VideoModel(url, true); StartPlaybackVideo?.Invoke(this, videoModel); } }); } catch { SheetUtility.CloseVideoPage(); } }
void HardwareButtonsOnBackPressedForVideoPage(object sender, BackRequestedEventArgs e) { SheetUtility.CloseVideoPage(); }
async void StartControlForPlayback(VideoModel videoModel) { try { if (videoModel.IsWebVideo) { await DispatcherHelper.RunAsync(() => { Player.Source = new Uri(videoModel.Url); Player.Play(); }); } else if (!videoModel.IsWebVideo) { try { var file = await InitializeFromFilePath(videoModel.Url); IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read); Player.SetSource(stream, file.ContentType); Player.Play(); } catch { await DispatcherHelper.RunAsync(async() => { var file = await InitializeFromFilePath(videoModel.Url); IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read); Player.SetSource(stream, file.ContentType); Player.Play(); }); } } else { try { progressRing.IsActive = false; MessageHelpers.ShowError(Core.StringMessage.SomethinWentWrong, "Error"); SheetUtility.CloseVideoPage(); } catch { await DispatcherHelper.RunAsync(() => { SheetUtility.CloseVideoPage(); }); } } } catch (Exception) { try { progressRing.IsActive = false; MessageHelpers.ShowError(Core.StringMessage.SomethinWentWrong, "Error"); SheetUtility.CloseVideoPage(); } catch { await DispatcherHelper.RunAsync(() => { SheetUtility.CloseVideoPage(); }); } } }