2008年6月17日 星期二

BCB程式碼

程式部份呢

我也是以學長的程式為底

在作了解,進而寫迴圈

寫判斷式,那判斷式主要寫在TIME2裡面

LRESULT CALLBACK FrameCallBack( HWND hwndCapture, Longint lpvhdr )

這就是老師常常提起的CALLBACK FrameCallBack

要做簡易的互動

我的想法就是當畫面劃分幾個區域

當某塊區域的變異數變大時就會執行一種音效WAV檔

//MediaPlayer1->Open();
//MediaPlayer1->Play();
//PlaySound("play.wav",NULL,SND_APPLICATION);//要INCLUDE→#include
這三行是重點

代表這兩種撥音效的語法

這是我跟馮國棟請教的,一起討論弄到凌晨.

但是程式之中有BUG

因為視訊擷取畫面類格的關西

所以當有東西進入畫面時

他會播放音效,不會停

因為類格,所以判斷錯誤

那這個程式還需要改進
==============================================

後來班上的

姜涵君同學,也是做這個的,不過作品不同

但是原理上是一樣的

所以我就請教他幾個問題

1.怎樣讓聲音不會一直出現,才不會當機

2.怎樣設定觸發條件

3.怎樣讓視訊比較敏感

ans:

1.宣告參數 INT C;

當執行時 C就累加

但是大於兩千時就歸零

這樣子的話,就不會一直播音樂而當機

2.再創造一個TIME

用來放

//MediaPlayer1->Open();
//MediaPlayer1->Play();
//PlaySound("play.wav",NULL,SND_APPLICATION);//要INCLUDE→#include

這些指令,然後當你畫面的黑白數大於所設定的直就會觸發

這個TIME

3.就是把畫面分工的很細

之前我是沒有分工

只要有異物近來就會撥音效

但是這樣沒有技術性

所以就把畫面區分四塊

觸發不同的區塊會有不同的聲音


==============================================

總結:

程式上大致是完成的

完成的成就感很大

那種感覺是說不出來的

對這門課很有興趣

當然啦,不是只要過而已.

我還要拿高分

1 則留言:

YKLee 提到...

熬夜寫程式是資工學生必經的歷程喔!
你那種說不出來的感覺也是課堂上無法傳授的!
恭喜你做到了!
歡迎你正式成為資工人!