/// <summary> /// Initializes a new instance of the <see cref="VideoCaptionPage"/> class. /// </summary> /// <param name="video">YouTube video.</param> /// <param name="captionTrack">Captions.</param> public VideoCaptionPage(Video video, ClosedCaptionTrack captionTrack) { this.InitializeComponent(); var vm = App.Container.Resolve <VideoCaptionViewModel>(new NamedParameter("video", video), new NamedParameter("captionTrack", captionTrack)); this.BindingContext = vm; }
/// <summary> /// Convert closed captions to SRT format. /// </summary> /// <param name="closedCaptionTrack"></param> /// <returns></returns> /// <exception cref="ArgumentNullException">When closedCaptionTrack is null</exception> public static string ToSRT(this ClosedCaptionTrack closedCaptionTrack) { if (closedCaptionTrack == null) { throw new ArgumentNullException(nameof(closedCaptionTrack)); } return(closedCaptionTrack.Captions.ToSRT()); }
/// <summary> /// Convert closed captions to SRT format. /// </summary> /// <param name="closedCaptionTrack"></param> /// <returns></returns> /// <exception cref="ArgumentNullException">When closedCaptionTrack is null</exception> public static string ToSRT(this ClosedCaptionTrack closedCaptionTrack) { if (closedCaptionTrack == null) { Debug.LogWarning("Closed caption track is null "); return(""); //throw new ArgumentNullException(nameof(closedCaptionTrack)); } return(closedCaptionTrack.Captions.ToSRT()); }
public static void IsSet(this Assert assert, ClosedCaptionTrack closedCaption) { Assert.IsNotNull(closedCaption); Assert.IsNotNull(closedCaption.Info); Assert.IsNotNull(closedCaption.Captions); foreach (var caption in closedCaption.Captions) { Assert.IsNotNull(caption); Assert.IsNotNull(caption.Text); } }
/// <summary> /// Initializes a new instance of the <see cref="VideoCaptionViewModel"/> class. /// </summary> /// <param name="video">YouTube video.</param> /// <param name="captionTrack">Captions.</param> /// <param name="properties">Platform Properties.</param> /// <param name="resource">Resources.</param> /// <param name="database">Database.</param> /// <param name="error">Error Handler.</param> /// <param name="navigation">Navigation Handler.</param> public VideoCaptionViewModel( Video video, ClosedCaptionTrack captionTrack, IPlatformProperties properties, IResourceHelper resource, IDatabase database, IErrorHandler error, INavigationHandler navigation) : base(properties, resource, database, error, navigation) { if (captionTrack == null) { throw new ArgumentNullException(nameof(captionTrack)); } this.Video = video; this.CaptionTrack = captionTrack; this.Captions = captionTrack.Captions.ToList(); }
public async Task ExecuteGetCaptionAsync() { IsBusy = true; try { Track = await YouTubeWebsite.GetClosedCaptionTrackAsync(trackInfo); AllCaptions = Track.Captions.ToList(); Captions = AllCaptions; } catch (Exception e) { Console.WriteLine(e.Message); } finally { IsBusy = false; } }