private List <int> GetAudioStreams(string filename)
        {
            IMediaDet   md = new MediaDet() as IMediaDet;
            Guid        streamType;
            AMMediaType mt = new AMMediaType();
            int         hr, nStreams;
            List <int>  streamList = new List <int>();

            md.put_Filename(filename);
            md.get_OutputStreams(out nStreams);

            for (int i = 0; i < nStreams; i++)
            {
                hr = md.put_CurrentStream(i);
                DsError.ThrowExceptionForHR(hr);

                hr = md.get_StreamType(out streamType);
                DsError.ThrowExceptionForHR(hr);
                if (streamType == MediaType.Audio)
                {
                    streamList.Add(i);
                }
            }

            return(streamList);
        }
        private double GetFrameRate(string filename)
        {
            IMediaDet   md = new MediaDet() as IMediaDet;
            Guid        streamType;
            AMMediaType mt = new AMMediaType();
            int         hr, nStreams;

            md.put_Filename(filename);
            md.get_OutputStreams(out nStreams);

            for (int i = 0; i < nStreams; i++)
            {
                hr = md.put_CurrentStream(i);
                DsError.ThrowExceptionForHR(hr);

                hr = md.get_StreamType(out streamType);
                DsError.ThrowExceptionForHR(hr);
                if (streamType == MediaType.Video)
                {
                    md.put_CurrentStream(0);

                    double frate = 30;

                    md.get_FrameRate(out frate);
                    return(frate);
                }
            }

            return(30);
        }
Ejemplo n.º 3
0
        private List<int> GetAudioStreams(string filename)
        {
            IMediaDet md = new MediaDet() as IMediaDet;
            Guid streamType;
            AMMediaType mt = new AMMediaType();
            int hr, nStreams;
            List<int> streamList = new List<int>();

            md.put_Filename(filename);
            md.get_OutputStreams(out nStreams);

            for (int i = 0; i < nStreams; i++)
            {
                hr = md.put_CurrentStream(i);
                DsError.ThrowExceptionForHR(hr);

                hr = md.get_StreamType(out streamType);
                DsError.ThrowExceptionForHR(hr);
                if (streamType == MediaType.Audio)
                    streamList.Add(i);
            }

            return streamList;
        }
Ejemplo n.º 4
0
        private double GetFrameRate(string filename)
        {
            IMediaDet md = new MediaDet() as IMediaDet;
            Guid streamType;
            AMMediaType mt = new AMMediaType();
            int hr, nStreams;

            md.put_Filename(filename);
            md.get_OutputStreams(out nStreams);

            for (int i = 0; i < nStreams; i++)
            {
                hr = md.put_CurrentStream(i);
                DsError.ThrowExceptionForHR(hr);

                hr = md.get_StreamType(out streamType);
                DsError.ThrowExceptionForHR(hr);
                if (streamType == MediaType.Video)
                {
                    md.put_CurrentStream(0);

                    double frate = 30;

                    md.get_FrameRate(out frate);
                    return frate;
                }
            }

            return 30;
        }