我有一个用 C# 编写的客户端应用程序,并且想要读取 MOV 文件的持续时间。我必须在 Windows 窗体中创建和托管 Quicktime COM 控件,然后在其中加载电影并获取持续时间。这在我的情况下是不可行的,因为客户端应用程序不是 Windows 窗体。
我实际上已经完成的另一种方法是打开原始MOV文件,检查字节直到您超过剪辑的电影头原子('mvhd')12个字节并从那里获取时间尺度和持续时间. 我不喜欢这种 hack,因为如果 Apple 将来更改文件格式,它可能无法正常工作。
我宁愿避免将 MOV 加载到控件中,因为我只对获取剪辑的持续时间感兴趣,而没有别的。理想情况下,我需要为应用程序提供一个带有 mov 文件路径的字符串,并获得这样的持续时间。有人用非托管代码做过吗?