GraphEdit是一個很好用的工具,尤其對寫DirectShow程式的朋友來說,DirectSpy更是如虎添翼,可以使其察看絕大部分的遠程圖表,即使其未加入ROT。但是在我的電腦上卻出了一點小問題,regsvr32註冊了DirectSpy.ax,開啟wmp,GraphEdit可以發現並串連到它的遠程圖表,也可以控制其播放停止,但是卻不顯示任何圖表內容,十分怪異。後來用DSGraphEdit,提示說“Incompatible Version of RPC Stub“,google之,http://support.microsoft.com/kb/321915說是一些ole檔案出了問題,但不知道該怎麼解決,http://www.eggheadcafe.com/software/aspnet/32327203/-80070725-incompatibl.aspx說註冊quartz.dll,也沒有效果,這裡提到oleaut32.dll,於是regsvr32 oleaut32.dll,大功告成!
但是還有一個問題,DirectSpy在windows 7下貌似不起作用;總之windows 7很奇怪,用wmp可以開啟mp4檔案,但用GraphEdit卻無法渲染,提示沒安裝相應的Filter,難道wmp用的不是DirectShow?(也有可能,因為DirectShow已經被Media Foundation取代了,說不定wmp用的就是Media Foundation)更奇怪的是我安裝了ffdshow和DirectShow FilterPack之後仍然無法渲染mp4檔案,而在XP系統上就可以。如果誰知道是什麼原因還請不吝賜教。
另:在codecguide上看到這篇文章,講Preferred Filter Tweaker for Windows 7,提到如下內容:
1. Win7 對一些媒體格式使用自己的內部解碼器,要想用第三方的DShow filter替換這些本機codec是不可能的,除非訴諸註冊表,而且還很麻煩;但MPC,kmplayer等則不受限制。
2. Windows Media Player 和 Media Center 在播放一些特定類型的檔案(比如m2ts,mp4,mov等)時使用Media Foundation,而不是DirectShow,在這種情況下總是使用本機codec,而不是第三方DShow filter。
3. Win7DSFilterTweaker可以破解這些限制,決定wmp使用何種解碼器,以及是使用DirectShow還是Media Foundation,但也存在副作用,比如不能顯示縮圖等。
但這仍然沒有解決我的疑問--為什麼在win7下即使安裝了相應的DShow filter還是無法用GraphEdit渲染?
另另:經此文章啟發,發現是許可權問題,按右鍵GraphEdit.exe,選擇"Run as administrator",OK,一切正常!Win7真2~
另另另:問題依然存在--flv可以渲染,但mp4依舊無法渲染。
搜尋索引鍵:win7 filter限制