區域網路..語音網路電話(繁體化版) |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
區域網路..語音網路電話(繁體化版) 使用方式:
1.一般電腦麥克風即可使用
2.鍵入對方IP後,按滑鼠右鍵使用快速選單:呼叫或掛機(等候別人呼叫)
3.關機:關閉程式
4.有人呼叫你記得按接聽! 發表人 - flyup 於 2003/02/09 12:52:42
附加檔案:25671_NetPhone.zip
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
jackkcg
站務副站長 發表:891 回覆:1050 積分:848 註冊:2002-03-23 發送簡訊給我 |
flyup 神偷 的精神令人敬佩 *********************************************************
哈哈&兵燹
最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知
K.表Knowlege 知識,就是本站的標語:Open our mind to make knowledge together!
希望能大家敞開心胸,將知識寶庫結合一起
------
********************************************************** 哈哈&兵燹 最會的2大絕招 這個不會與那個也不會 哈哈哈 粉好 Delphi K.Top的K.Top分兩個字解釋Top代表尖端的意思,希望本討論區能提供Delphi的尖端新知 K.表Knowlege 知識,就是本站的標語:Open our mind |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
|
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
|
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
|
GGL
資深會員 發表:104 回覆:600 積分:335 註冊:2006-11-05 發送簡訊給我 |
請問一下...
我想把它改成BCB的版本,但是我對Delphi不熟,在type裡面有
TActiveMsg=(MsgAttempTalk,MsgAcceptTalk);
PassiveMsg=(MsgTalkAvialable,MsgPhoneBusy);
TPhoneState=(StateFree,StateBusy,StateCalling,StateBeCalled,StateTalking);
請問這3行如何改成BCB,這段程式碼我看不懂...
還有在宣告方面:
pWaveHdr1,pWaveHdr2:PWAVEHDR;
waveformIn:TWAVEFORMATEX;
hWaveIn:HWAVEIN;
PWAVEHDR、TWAVEFORMATEX、HWAVEIN應該改成什麼?
謝謝...
|
Wawa
一般會員 發表:27 回覆:55 積分:16 註冊:2002-10-04 發送簡訊給我 |
|
tamad
一般會員 發表:2 回覆:3 積分:1 註冊:2004-06-02 發送簡訊給我 |
|
diave
一般會員 發表:0 回覆:2 積分:0 註冊:2004-12-04 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
anderson0805
一般會員 發表:3 回覆:4 積分:1 註冊:2004-10-27 發送簡訊給我 |
各位先進您們好:
由於小弟在學習BCB6.0想把這個網路電話改成BCB版本,可是改著改著,還是有很多錯誤,希望在此的每位大哥幫幫忙,幫忙修改一下,我弄了很久,請多指教,謝謝!
unit Main; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ScktComp, ComCtrls,mmsystem, Buttons, jpeg, ExtCtrls, Mask, Menus; type TActiveMsg=(MsgAttempTalk,MsgAcceptTalk); TPassiveMsg=(MsgTalkAvialable,MsgPhoneBusy); TPhoneState=(StateFree,StateBusy,StateCalling,StateBeCalled,StateTalking); TPhoneForm = class(TForm) MsgClientSocket: TClientSocket; MsgServerSocket: TServerSocket; StatusBar: TStatusBar; DataClientSocket: TClientSocket; DataServerSocket: TServerSocket; ConnectBtn: TBitBtn; AcceptBtn: TBitBtn; HangUpBtn: TBitBtn; Image1: TImage; Image2: TImage; MaskEdit: TMaskEdit; Label1: TLabel; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; procedure ConnectBtnClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure MsgClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket); procedure MsgServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure MsgClientSocketRead(Sender: TObject; Socket: TCustomWinSocket); procedure AcceptBtnClick(Sender: TObject); procedure HangUpBtnClick(Sender: TObject); procedure DataServerSocketClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure MsgServerSocketClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure FormDestroy(Sender: TObject); procedure DataServerSocketClientConnect(Sender: TObject; Socket: TCustomWinSocket); procedure DataServerSocketClientRead(Sender: TObject; Socket: TCustomWinSocket); procedure DataClientSocketConnect(Sender: TObject; Socket: TCustomWinSocket); procedure MsgClientSocketError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); procedure MsgClientSocketLookup(Sender: TObject; Socket: TCustomWinSocket); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure N4Click(Sender: TObject); procedure PopupMenu1Popup(Sender: TObject); private { Private declarations } char MsgText[1]; PWAVEHDR pWaveHdr1,pWaveHdr2; TWAVEFORMATEX waveformIn; HWAVEIN hWaveIn; char pBuffer1[BUF_SIZE-1],pBuffer2[BUF_SIZE-1]; boolean bEndRecord,bEndPlay,bFirstReceive,NoDataInBuf; HWAVEOUT hWaveOut; PWAVEHDR pWaveHdrs[BUF_NUM-1]; Pointer Memos[UF_NUM-1]; int CurMemoIndex; int CurPlayMemo; char ReciBuf[BUF_SIZE-1]; TWAVEFORMATEX waveformOut; int NeedPlayBufCount; //待播放的內存塊的數量 procedure mmwimopen(var Msg: TMessage); message MM_WIM_OPEN; procedure mmwimdata(var Msg: TMessage); message MM_WIM_DATA; procedure mmwimclose(Var Msg:TMessage);message MM_WIM_CLOSE; procedure mmwomopen(Var Msg:TMessage);message MM_WOM_OPEN; procedure mmwomdone(Var Msg:TMessage);message MM_WOM_DONE; procedure mmwomclose(Var Msg:TMessage);message MM_WOM_CLOSE; void __fastcall TForm1::PlayNotify(int model);//發出提示音 void __fastcall TForm1::StopNotify();//停止提示 void __fastcall TForm1::SendActiveMsg(TActiveMsg ActiveMsg);//發送一個遠程消息 void __fastcall TForm1::FeedbackPassiveMsg(TPassiveMsg PassiveMsg,TCustomWinSocket Socket); public { Public declarations } TPhoneState LocalState; void __fastcall TForm1::StartSendSound(); void __fastcall TForm1::EndSendSound(); void __fastcall TForm1::StartPlaySound(); void __fastcall TForm1::EndPlaySound(); end; var PhoneForm: TPhoneForm; implementation uses RemoAddrDlg; {$R *.DFM} //點擊呼叫按紐 const int BUF_SIZE=4000; const int BUF_NUM=10; void __fastcall TForm1::ConnectBtnClick(TObject *Sender) { String ReHostName; if(LocalState!=StateFree) return;//只有在空閒狀態才能呼叫 ReHostName=MaskEdit->Text; while (Pos(' ',ReHostName)!=0) { Delete(ReHostName,Pos(' ',ReHostName),1); if(Length(ReHostName)<7) return; MsgClientSocket->Address=ReHostName; MsgClientSocket->Active=True; //連接遠程機 LocalState=StateCalling; ConnectBtn->Enabled=false; HangupBtn->Enabled=true; statusbar->Panels[0]->Text="正在呼叫"; } } //MsgServerSocket回送消息 void __fastcall TForm1::FeedbackPassiveMsg(TPassiveMsg PassiveMsg,TCustomWinSocket Socket) { MsgText[0]=Chr(Integer(PassiveMsg));//消息類型 MsgText[1]=chr(Integer(LocalState));//本機狀態 Socket->SendBuf(MsgText,2); } void __fastcall TForm1::FormCreate(TObject *Sender) { int i; StatusBar->Panels[0]->Text="空閒"; new(pWaveHdr1); new(pWaveHdr2); for(i=0;i |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |