2

我的印象是 AV Foundation 不支持第三方编解码器。如果我尝试在我的应用程序中打开 Avid DNxHD QuickTime 电影,它不会像预期的那样工作。

但是,如果我在 QuickTime Player X(也使用 AVF)中打开 DNxHD 电影,它会打开并正常播放,甚至在“信息”窗口中说它是 DNxHD。

有谁知道苹果是如何做到这一点的?

4

1 回答 1

1

我相信 QuickTime Player X 建立在 QT X 之上,而不是建立在 AVF 之上。事实上,我认为它使用(类似于)QTKit,如果需要打开仅受 32 位编解码器支持的文件,它将启动一个 32 位代理进程。

您可以通过 QTKit 框架访问 QT X,如果您在打开文件时指定“仅播放”属性,但您只能播放它(正如标志所暗示的那样!)。即使枚举轨道的数量也会失败。如果您未指定仅播放,那么您将仅限于 QT7 组件,如果您的应用程序是 64 位,则通过 32 位代理访问。

于 2012-11-14T17:30:15.210 回答