C#或者C++中,这样获取视频文件的播放时长?

2025-03-03 18:21:19
推荐回答(5个)
回答1:

首先,你要搞清楚你的视频类型是什么?是FLV,MP4还是其他的?
其次,在搞清楚了视频类型之后,你可以通过分析视频的数据头(比如FLV视频的flv header),
通常的视频类型的播放时长都在header里面记录着。(flv里面是metadata里面的duration属性)
最后,如果视频头里面没有记录(有这个可能,只不过一般不会),那么就比较麻烦了,就要通过分析整个文件的大小、视频的帧率等等具体的一些参数来获得时长。如果真的到了这一步,那么一句两句话很难说清楚。

回答2:

在文件头中还有个可选块:indx,可以参考最新版本的AVI容器规范,你的这个文件头中正好有indx子块,那时长就是index子块中duration的总和,所以就和avih、strh子块中的长度无关了。标准答案,请采纳吧~

回答3:

播放器会得到 视频的总长度。
自己定义个时间Timer计数器,算时间就好了吧!

回答4:

需要找一套视频库来解析。

回答5:

参考这个问题:
http://zhidao.baidu.com/question/2116083379070804707.html