private void Start() { streamVideoScript = GetComponent <StreamVideo>(); subtitleScript = Instantiate(subtitlesPrefab).GetComponent <SubtitleScript>(); streamVideoScript.Begin(subtitleScript.background); subtitleScript.Begin(streamVideoScript); }
public static void ExtractingStandardSubtitles() { SubtitleScript subtitles = UnityEngine.Object.FindObjectOfType <SubtitleScript>(); if (subtitles != null) { ExtractingStringArrays(subtitles); } }
private void DecodeSubtitle(int subtitleId, string ivBase64, string dataBase64, ref CrunchySubtitleInfo si) { byte[] key = GenerateKey(subtitleId).Concat(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }).ToArray(); byte[] iv = Convert.FromBase64String(ivBase64); byte[] data = Convert.FromBase64String(dataBase64); AesManaged mng = new AesManaged(); mng.Mode = CipherMode.CBC; mng.Padding = PaddingMode.None; ICryptoTransform tr = mng.CreateDecryptor(key, iv); byte[] kk = tr.TransformFinalBlock(data, 0, data.Length); MemoryStream ms = new MemoryStream(); ZlibStream stream = new ZlibStream(new MemoryStream(kk), Ionic.Zlib.CompressionMode.Decompress); stream.CopyTo(ms); ms.Position = 0; XmlSerializer serializer = new XmlSerializer(typeof(SubtitleScript)); SubtitleScript script = (SubtitleScript)serializer.Deserialize(ms); si.Title = script.Title; si.Ass = script.ToAss(); }