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); }
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; }