如題~請各位大大指點....... //-------------------------------------------------------------------
#include
#pragma hdrstop #include "strmmain.h"
#include "mmsystem.h"
//-------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormMain *FormMain;
//-------------------------------------------------------------------
__fastcall TFormMain::TFormMain(TComponent* Owner)
: TForm(Owner)
{
}
//------------------------------------------------------------------- void __fastcall TFormMain::Button1Click(TObject *Sender)
{
mciSendString("close p1",0,0,0);
TFileStream *MyFStream;
MyFStream = new TFileStream("temp.wav", fmOpenRead);
try
{
NMStrm1->Host = Edit2->Text;
NMStrm1->FromName = Edit1->Text;
NMStrm1->PostIt(MyFStream);
}
catch(...)
{
}
MyFStream->Free(); }
//------------------------------------------------------------------- void __fastcall TFormMain::Button2Click(TObject *Sender)
{
mciSendString("close p1",0,0,0);
mciSendString("open temp.wav type WAVEAudio alias p1",0,0,0);
mciSendString("play p1",0,0,0);
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1Connect(TObject *Sender)
{
StatusBar1->SimpleText = "Connected";
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1ConnectionFailed(TObject *Sender)
{
ShowMessage("Connection Failed");
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1Disconnect(TObject *Sender)
{
if (StatusBar1 != 0)
StatusBar1->SimpleText = "Disconnected";
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1HostResolved(TComponent *Sender)
{
StatusBar1->SimpleText = "Host Resolved";
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1MessageSent(TObject *Sender)
{
Label3->Caption = "聲音檔案送出Stream sent";
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1PacketSent(TObject *Sender)
{
StatusBar1->SimpleText = IntToStr(NMStrm1->BytesRecvd) " bytes of " NMStrm1->BytesTotal " sent";
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1Status(TComponent *Sender,
AnsiString Status)
{
if (StatusBar1 != 0)
StatusBar1->SimpleText = Status;
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrm1InvalidHost(bool &handled)
{
AnsiString NewHost;
if (InputQuery("Invalid Host", "Please Choose another host", NewHost))
{
NMStrm1->Host = NewHost;
handled = true;
}
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrmServ1ClientContact(TObject *Sender)
{
StatusBar1->SimpleText = "聲音檔案送達Client Contacted";
}
//---------------------------------------------------------------------------
void __fastcall TFormMain::NMStrmServ1MSG(TComponent *Sender,
const AnsiString sFrom, TStream *strm)
{
mciSendString("close p1",0,0,0);
if (FileExists("temp.wav"))
DeleteFile("temp.wav");
TFileStream *MyFStream;
MyFStream = new TFileStream("temp.wav", fmCreate);
try
{
MyFStream->CopyFrom(strm, strm->Size);
}
catch(...)
{
}
MyFStream->Free();
}
//-------------------------------------------------------------------
void __fastcall TFormMain::NMStrmServ1Status(TComponent *Sender,
AnsiString Status)
{
if (StatusBar1 != 0)
StatusBar1->SimpleText = Status;
}
//------------------------------------------------------------------- void __fastcall TFormMain::Button3Click(TObject *Sender)
{
mciSendString("close p1",0,0,0);
mciSendStringA("open new type WAVEAudio alias p1",0,0,0);
mciSendString("record p1",0,0,0);
}
//------------------------------------------------------------------- void __fastcall TFormMain::Button4Click(TObject *Sender)
{
Close();
}
//------------------------------------------------------------------- void __fastcall TFormMain::Button5Click(TObject *Sender)
{
mciSendString("stop p1",0,0,0);
mciSendString("save p1 temp.wav",0,0,0);
mciSendString("close p1",0,0,0);
}
//-------------------------------------------------------------------