private void LoadData() { TextReader reader; string level = Game.Current().Level(); TextAsset txt = (TextAsset)Resources.Load("Songs/" + level + "_Asynch", typeof(TextAsset)); string content = txt.text; string line; reader = new StringReader(content); line = reader.ReadLine(); while (line != null) { if (line.Contains("@")) { string[] slices = line.Split('@'); TimedText timedText = new TimedText(); timedText.time = float.Parse(slices[0]); timedText.text = slices[1]; warnings.Add(timedText); } else if (line.Contains("#")) { string timeString = line.Replace("#", ""); float time = float.Parse(timeString); blinks.Add(time); } line = reader.ReadLine(); } }
private static TimedText getTimedText(string captionTracks, string titel) { //https://www.youtube.com/api/timedtext?v=h0e2HAPTGF4&lang=en&name=CC&fmt=json3 // List<VideoDetails> list = new List<VideoDetails>(); TimedText timeText = new TimedText(); //var url = string.Format("https://www.youtube.com/api/timedtext?v={0}&lang=en&fmt={1}", videoId, "json3"); var url = string.Format(captionTracks + "&fmt={0}", "json3"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { Stream receiveStream = response.GetResponseStream(); StreamReader readStream = null; if (response.CharacterSet == null) { readStream = new StreamReader(receiveStream); } else { readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet)); } string data = readStream.ReadToEnd(); response.Close(); readStream.Close(); //////////////////////// timeText = JsonConvert.DeserializeObject <TimedText>(data); } return(timeText); }
public Subtitles Build() { TimedText processed = Reader.Read().Apply(this.Processing); TextDurationMeter durationMeter = new TextDurationMeter(processed); IEnumerable <TimedLine> subtitles = durationMeter.MeasureLines(); return(new Subtitles(subtitles)); }
/// <summary> Adds a new TimedTextControl to the Announcement list. </summary> /// <param name="sender"> The sender. </param> /// <param name="e"> The event arguments. </param> private void AddAnnouncementClicked(object sender, RoutedEventArgs e) { var text = new TimedText(); var ctrl = new TimedTextControl { TimedText = text }; ctrl.RowDeleted += this.AnnouncementRowDeleted; this.viewModel.AnnouncementText.Add(text); lbxAnnouncements.Items.Add(ctrl); }
/// <summary> Adds a new TimedTextControl to the Subbar list. </summary> /// <param name="sender"> The sender. </param> /// <param name="e"> The event arguments. </param> private void AddSubbarClicked(object sender, RoutedEventArgs e) { var text = new TimedText(); var ctrl = new TimedTextControl { TimedText = text }; ctrl.RowDeleted += this.SubbarRowDeleted; this.viewModel.SubbarText.Add(text); spSubbar.Items.Add(ctrl); }
/// <summary> The add text clicked. </summary> /// <param name="sender"> The sender. </param> /// <param name="e"> The event arguments. </param> private void AddTextClicked(object sender, RoutedEventArgs e) { var text = new TimedText(); var ctrl = new TimedTextControl { TimedText = text }; ctrl.RowDeleted += this.RowDeleted; this.lstItems.Items.Add(ctrl); this.ViewModel.Add(text); }
public bool DownloadSubtitel(VideoDetails videoDetails, List <CaptionTracks> listCaptionTracks) { string url = ""; if (listCaptionTracks == null || listCaptionTracks.Count == 0) { return(false); } else { url = listCaptionTracks[0].baseUrl; } TimedText timeText = getTimedText(url, videoDetails.Titel); if (timeText != null) { FileStream file = new FileStream(videoDetails.VideoPath + Helper.RemoveSpatialCharacter(videoDetails.Titel) + ".srt", FileMode.Create, FileAccess.Write); StringBuilder builder = new StringBuilder(); for (int i = 0; i < timeText.events.Count; i++) { var _event = timeText.events[i]; builder.AppendLine((i + 1).ToString()); builder .Append(Helper.MilliSeconds(_event.tStartMs)) .Append(" --> ") .AppendLine(Helper.MilliSeconds(_event.tStartMs + _event.dDurationMs)); if (_event.segs != null && _event.segs.Count != 0) { builder.AppendLine(_event.segs[0].utf8); } builder.AppendLine(); } UnicodeEncoding uniencoding = new UnicodeEncoding(); byte[] result = uniencoding.GetBytes(builder.ToString()); file.Write(result, 0, result.Length); //--------- file.Close(); file.Dispose(); } return(true); }
public void OnTimedText(MediaPlayer player, TimedText text) { }
public void PushClip(TimedText.Styling.Rectangle rectangle) { // to do -- add a sub layoutHost with clip set, into which drawing will occur. }
public void DrawText(string text, Font font, Color fill, TextDecorationAttributeValue decoration, double startX, double startY, TimedText.Informatics.MetadataInformation data) { sb.Append(text); }
public void DrawOutlineText(string text, Font font, Color fill, TimedText.Styling.TextOutline outline, double startX, double startY, TimedText.Informatics.MetadataInformation data) { //Console.WriteLine(s); sb.Append(text); }
/// <summary> /// Invoke /// </summary> public void OnTimedText(MediaPlayer mediaPlayer, TimedText text) { Invoke(mediaPlayer, new TimedTextEventArgs(text)); }
internal TextDurationMeter(TimedText text) { this.Text = text; }
public TimedTextEventArgs(TimedText text) { Text = text; }