DirectShow的RenderFile發生錯誤 |
答題得分者是:綾小路
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
各位大大們:
小弟利用DirectX9.0想要寫一各AVI的撥放器.
但是當程式執行RenderFile這行的時候都會發生一各錯誤.
想請問一下大大這各錯誤的意思跟解決方法.
void __fastcall TForm1::FormCreate(TObject *Sender) { CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void **)&pGraph); WideString wFileName; if (OpenDialog1->Execute()) { wFileName = OpenDialog1->FileName; pGraph->RenderFile(wFileName,NULL); } }錯誤訊息 |
綾小路
一般會員 發表:2 回覆:12 積分:7 註冊:2004-09-06 發送簡訊給我 |
|
綾小路
一般會員 發表:2 回覆:12 積分:7 註冊:2004-09-06 發送簡訊給我 |
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
|
綾小路
一般會員 發表:2 回覆:12 積分:7 註冊:2004-09-06 發送簡訊給我 |
錯誤訊息是說:
安全保護發生錯誤
偵測到除錯器(Debugger) - 請關掉它再重新執行
程式偵測到疑似 WinICE 或 SoftICE 正在活動中
你的程式正在用 debugger 執行
總之就是你在 RenderFile 時,DirectShow 自動安裝了某個解碼器(DecodeFilter),而這個解碼器本身有防破解裝置,至於為什麼 MediaPlayer 可以,那可能是因為 MediaPlayer 是直接指定要用到的Filter一個一個安裝,並不是用RenderFile讓DShow去自動安裝Filter 我想你要解的 AVI 檔應該是從網路下載回來的,通常都要安裝特殊的Filter,例如:DivX or XviD 之類的吧, 也就是你為了看 AVI 而安裝了很多來路不明的 Filter ,而這些來路不明的Filter其中一個或多個又有防破解裝置,所以出現那個錯誤訊息 一般來說, Filter 很少會有人加上防破解的保護, 所以你可能要小心那個來路不明的Filter 是不是暗藏木馬之類的東西, 為了怕別人發現,所以才加裝防破解保護,僅供參考,不代表結論.
|
李國維
高階會員 發表:42 回覆:287 積分:235 註冊:2003-02-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |