我的印象是AV Foundation不支持第三方编解码器。如果我尝试在我的应用程序中打开Avid DNxHD QuickTime影片,它将无法正常工作。
但是,如果我在QuickTime Player X(也使用AVF)中打开一个DNxHD电影,它会打开并播放回来,甚至在信息窗口中说它是DNxHD。
有谁知道Apple如何实现这一目标?
答案 0 :(得分:1)
我相信QuickTime Player X是基于QT X构建的,而不是基于AVF。事实上,我认为它使用(类似于)QTKit,如果需要打开只有32位编解码器支持的文件,它将启动一个32位代理进程。
如果您在打开文件时指定“仅播放”属性,则可以通过QTKit框架访问QT X,但是您只能播放它(如标志所示!)。即使列举曲目数也会失败。如果您没有指定仅播放,则仅限于QT7组件,如果您的应用是64位,则通过32位代理访问。