全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2650
推到 Plurk!
推到 Facebook!

主程式去include一個轉AVI的CPP

答題得分者是:sandyl39
catchi
一般會員


發表:4
回覆:2
積分:1
註冊:2009-04-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-04-17 23:12:34 IP:118.170.xxx.xxx 訂閱
主程式去include轉AVI的CPP,
因為想要自動化,不想手動去做選擇轉檔格式,
在第五行會出現選轉檔格式的對話框,
如何去做修正,才能自動選擇特定格式去轉檔,
(例如:都是特定為MPEG4模式轉檔)
我找不到此對話框的程式碼去哪修正,請說明,THX!

[code cpp]
if (au->psCompressed==0) // set the compression, prompting dialog if necessary
{ AVICOMPRESSOPTIONS myopts; ZeroMemory(&myopts,sizeof(myopts));
AVICOMPRESSOPTIONS *aopts[1];
if (opts!=NULL) aopts[0]=opts; else aopts[0]=&myopts;
if (ShowDialog)
{ BOOL res = (BOOL)AVISaveOptions(hparent,0,1,&au->ps,aopts);
if (!res) {AVISaveOptionsFree(1,aopts); au->iserr=true; return AVIERR_USERABORT;}
}
HRESULT hr = AVIMakeCompressedStream(&au->psCompressed, au->ps, aopts[0], NULL);
AVISaveOptionsFree(1,aopts);
if (hr != AVIERR_OK) {au->iserr=true; return hr;}
DIBSECTION dibs; GetObject(hbm,sizeof(dibs),&dibs);
hr = AVIStreamSetFormat(au->psCompressed, 0, &dibs.dsBmih, dibs.dsBmih.biSize dibs.dsBmih.biClrUsed*sizeof(RGBQUAD));
if (hr!=AVIERR_OK) {au->iserr=true; return hr;}
}
[/code]

sandyl39
一般會員


發表:0
回覆:12
積分:17
註冊:2003-02-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-04-21 16:44:21 IP:61.66.xxx.xxx 訂閱
之前也為這個問題苦惱過..
後來解決了..
我的code..如下...(我是轉成divx...記得要安裝codec)

AVICOMPRESSOPTIONS opts; ZeroMemory(&opts,sizeof(opts));
opts.fccHandler=mmioFOURCC('d','i','v','x');
opts.dwQuality = 100 ;
SetAviVideoCompression(CAVI[nowWNo].avi,hbm,&opts,false,m_hWnd) ;

不過這段code是在主程式不是在 avi處理的hpp裡...
別問我為什麼這麼寫...我忘了...
系統時間:2017-12-14 6:20:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!