有没有办法这样做,无论是在C#,python,java,无论如何,只会返回一个字符串,指示视频文件的长度.
请尽可能提供示例.提前致谢!
假设标准文件格式,如wmv,avi,mp4,mpeg.具有元数据的东西.
解决方法 这是一个例子:using DirectShowlib;using DirectShowlib.DES;using System.Runtime.InteropServices;...var mediaDet = (IMediaDet)new MediaDet();DsError.ThrowExceptionForHR(mediaDet.put_filename(filename));// find the vIDeo stream in the fileint index;var type = GuID.Empty;for (index = 0; index < 1000 && type != MediaType.VIDeo; index++){ mediaDet.put_CurrentStream(index); mediaDet.get_StreamType(out type);}// retrIEve some measurements from the vIDeodouble frameRate;mediaDet.get_FrameRate(out frameRate);var mediaType = new AMMediaType();mediaDet.get_StreamMediaType(mediaType);var vIDeoInfo = (VIDeoInfoheader)Marshal.PtrToStructure(mediaType.formatPtr,typeof(VIDeoInfoheader));DsUtils.FreeAMMediaType(mediaType);var wIDth = vIDeoInfo.Bmiheader.WIDth;var height = vIDeoInfo.Bmiheader.Height;double mediaLength;mediaDet.get_StreamLength(out mediaLength);var frameCount = (int)(frameRate * mediaLength);var duration = frameCount / frameRate;总结
以上是内存溢出为你收集整理的c# – 获取视频长度全部内容,希望文章能够帮你解决c# – 获取视频长度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)