MediaConvertGUI.MediaInfo.OpenFromFile C# (CSharp) Method

OpenFromFile() public method

Opens from file.
public OpenFromFile ( string fileName ) : bool
fileName string /// File name. ///
return bool
        public bool OpenFromFile(string fileName)
        {
            try
            {
                if (!File.Exists(fileName))
                    return false;

                FileName = fileName;
                var fi = new System.IO.FileInfo(fileName);
                FileSize = fi.Length;

                Tracks.Clear();

                TargetContainer = MediaInfoBase.DetectContainerByExt(fileName);

                var mediaInfoXML = SupportMethods.ExecuteAndReturnOutput(MediaConvertGUIConfiguration.MediaInfoPath,"-f --Output=XML \"" + fileName + "\"");
                RawMediaInfoOutput = mediaInfoXML;

                var xmlDoc = new System.Xml.XmlDocument();
                xmlDoc.LoadXml(mediaInfoXML);

                 var nodes =  xmlDoc.SelectNodes("Mediainfo/File/track");
                foreach (XmlNode node in nodes)
                {
                    var track = new TrackInfo();
                    track.ParseFromXmlNode(node);
                    Tracks.Add(track);
                }

                return true;

            } catch (Exception ex)
            {
                Console.WriteLine ("Error:"+ex.ToString());
                return false;
            }
        }

Usage Example

Esempio n. 1
0
    public void AddMediaInfo(string fName)
    {
        var sourceMovie = new MediaInfo();
        if (sourceMovie.OpenFromFile (fName))
        {
            var firstVideoTrack =  sourceMovie.FirstVideoTrack;

            if (sourceMovie.AudioTracks.Count > 0 || firstVideoTrack != null)
            {

                var targetMovie = new MediaInfo ();
                sourceMovie.Copyto (targetMovie, false);

                if (firstVideoTrack!=null)
                {
                    targetMovie.TargetContainer = ContainerEnum.avi;
                    targetMovie.TargetVideoCodec = VideoCodecEnum.xvid;
                }

                // leaving only first audio track
                while (targetMovie.AudioTracks.Count>1)
                {
                    TrackInfo lastAudioTrack =  null;
                    foreach (var track in targetMovie.Tracks)
                    {
                        if (track.TrackType == "Audio")
                        {
                            lastAudioTrack = track;
                        }
                    }
                    if (targetMovie.Tracks.Contains(lastAudioTrack))
                    {
                        targetMovie.Tracks.Remove(lastAudioTrack);
                    } else
                    {
                        break;
                    }
                }

                if (targetMovie.AudioTracks.Count>0)
                {
                    if (firstVideoTrack!=null)
                    {
                        targetMovie.FirstAudioTrack.TargetAudioCodec = AudioCodecEnum.copy;
                    } else
                    {
                        targetMovie.FirstAudioTrack.TargetAudioCodec = AudioCodecEnum.mp3;
                    }
                }

                MoviesInfo.Add (sourceMovie, targetMovie);

                FillTree ();
            }
        }
    }