コード例 #1
0
        public static MkvInfo Parse(string mkv)
        {
            Process          p   = new Process();
            ProcessStartInfo psi = new ProcessStartInfo(Utils.MkvMergeExecutable, "--identify-verbose \"" + mkv + "\"");

            psi.WindowStyle            = ProcessWindowStyle.Hidden;
            psi.UseShellExecute        = false;
            psi.CreateNoWindow         = true;
            psi.RedirectStandardOutput = true;
            p.StartInfo = psi;
            p.Start();
            p.WaitForExit();
            StreamReader sr = p.StandardOutput;

            string[] tracks = sr.ReadToEnd().Split(new string[] { "\r\n", "\r" }, StringSplitOptions.RemoveEmptyEntries);
            var      ret    = new MkvInfo();

            foreach (string line in tracks)
            {
                var track = MkvTrack.Parse(line);
                if (track != null)
                {
                    ret.Tracks.Add(track);
                }
            }
            return(ret);
        }
コード例 #2
0
 public MkvMergeAction(Episode ep)
     : this()
 {
     MkvInfo     = MkvInfo.Parse(ep.fileInfo.FullName);
     MkvFileInfo = ep.fileInfo;
     Episode     = ep;
     LoadFolderSubs(MkvFileInfo.DirectoryName);
 }
コード例 #3
0
ファイル: MkvInfo.cs プロジェクト: zzattack/simple-sub-muxer
 public static MkvInfo Parse(string mkv)
 {
     Process p = new Process();
     ProcessStartInfo psi = new ProcessStartInfo(Utils.MkvMergeExecutable, "--identify-verbose \"" + mkv + "\"");
     psi.WindowStyle = ProcessWindowStyle.Hidden;
     psi.UseShellExecute = false;
     psi.CreateNoWindow = true;
     psi.RedirectStandardOutput = true;
     p.StartInfo = psi;
     p.Start();
     p.WaitForExit();
     StreamReader sr = p.StandardOutput;
     string[] tracks = sr.ReadToEnd().Split(new string[] { "\r\n", "\r" }, StringSplitOptions.RemoveEmptyEntries);
     var ret = new MkvInfo();
     foreach (string line in tracks) {
         var track = MkvTrack.Parse(line);
         if (track != null)
             ret.Tracks.Add(track);
     }
     return ret;
 }