2012-10-09 20 views
2

我的印象是AV Foundation不支持第三方編解碼器。如果我嘗試在我的應用程序中打開Avid DNxHD QuickTime影片,則不會按預期工作。AV基金會的第三方編解碼器

但是,如果我在QuickTime Player X(也使用AVF)中打開DNxHD電影,它會打開並播放,甚至在Info窗口中顯示它是DNxHD。

有誰知道蘋果是如何實現這一目標的?

回答

1

我相信QuickTime Player X是建立在QT X之上的,而不是AVF之上的。事實上,我認爲它使用了(類似於)QTKit,它將在必要時啓動32位代理進程以打開僅由32位編解碼器支持的文件。

如果您在打開文件時指定了「只播放」屬性,但只能播放它(如標誌所示!),則可以通過QTKit框架訪問QT X.即使列舉曲目數量也會失敗。如果您不指定僅限回放,那麼您僅限於QT7組件,如果您的應用程序是64位,則通過32位代理訪問。

+1

這是正確的10.6,但在10.7 +它使用AVF。但是我發現了我的問題的答案 - 它啓動了一個稱爲LegacyMediaBridge的32位輔助進程。這似乎是一個私人框架,所以任何試圖使用它的應用程序都可能會被應用程序商店拒絕,所以我認爲我會回到QTKit尋找不支持的編解碼器。 – mwoods

+0

QT Player是基於10.9而不是10.7的AVFoundation。 – martinjbaker