C#或者C++中,这样获取视频文件的播放时长?
5个回答
展开全部
首先,你要搞清楚你的视频类型是什么?是FLV,MP4还是其他的?
其次,在搞清楚了视频类型之后,你可以通过分析视频的数据头(比如FLV视频的flv header),
通常的视频类型的播放时长都在header里面记录着。(flv里面是metadata里面的duration属性)
最后,如果视频头里面没有记录(有这个可能,只不过一般不会),那么就比较麻烦了,就要通过分析整个文件的大小、视频的帧率等等具体的一些参数来获得时长。如果真的到了这一步,那么一句两句话很难说清楚。
其次,在搞清楚了视频类型之后,你可以通过分析视频的数据头(比如FLV视频的flv header),
通常的视频类型的播放时长都在header里面记录着。(flv里面是metadata里面的duration属性)
最后,如果视频头里面没有记录(有这个可能,只不过一般不会),那么就比较麻烦了,就要通过分析整个文件的大小、视频的帧率等等具体的一些参数来获得时长。如果真的到了这一步,那么一句两句话很难说清楚。
展开全部
在文件头中还有个可选块:indx,可以参考最新版本的AVI容器规范,你的这个文件头中正好有indx子块,那时长就是index子块中duration的总和,所以就和avih、strh子块中的长度无关了。标准答案,请采纳吧~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
播放器会得到 视频的总长度。
自己定义个时间Timer计数器,算时间就好了吧!
自己定义个时间Timer计数器,算时间就好了吧!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要找一套视频库来解析。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询