我有用C#编写的客户端应用程序,并且想要读取MOV文件的持续时间。我将不得不在Windows窗体中创建和托管Quicktime COM控件,然后在其中加载电影并获取持续时间。这在我的情况下是不可行的,因为客户端应用程序不是Windows窗体。检测MOV文件的持续时间
这样做的另一种方法,我实际上是这样做的,就是打开MOV文件raw,检查字节,直到12个字节超过剪辑的电影头原子('mvhd')并获得时间刻度和从那里的持续时间。这个黑客我不舒服,因为如果Apple在将来更改文件格式,它可能无法正常工作。
我宁愿避免将MOV加载到控件上,因为我只想获取剪辑的持续时间,而没有其他的东西。理想情况下,我需要为应用程序提供一个带有mov文件路径的字符串,并获得这样的持续时间。有没有人用非托管代码完成它?
为什么不能在非Windows窗体应用程序中使用相同的COM对象?或者它只是一个_control_? – Vlad
这是一个控件,因此需要一个主机来“活”。 – Michali
鉴于.mov的长久性,在这一点上他们改变标题的可能性相当小吗?另外,请注意,那里依靠相同的信息必须有大量的玩家。查找用于定义.mov文件布局并从此开发的文档。 – KevinDTimm