Q&A

  • 음성채팅의 일부분인데요..
안녕하세요..



어디서 소스를 하나 받았는데.. 보고 있거든요?



UDP 로 받은 PChar 형 버퍼(음성)를 아래 함수로 플레이 시키는것인데요..



PlayBack 으로 넘겨받은 Data:pinter 랑 memblock 이랑 뭐가 다른거죠?



답변 주시면 감사하겠습니다..



procedure TACMWaveOut.PlayBack(data:pointer;size:longint);

var

Header:PWaveHdr;

memblock:pointer;

i:integer;

begin

if HWaveOut1<>nil then

begin

header:=new(PWaveHdr);

memblock:=new(pointer);

getmem(memblock,size);

move(data^,memBlock^,size);

header.lpdata:=memBlock;

header.dwbufferlength:=size;

header.dwbytesrecorded:=size;

header.dwUser:=0;

header.dwflags:=0;

header.dwloops:=0;

i:=WaveOutPrepareHeader(HWaveOut1^,header,sizeof(TWaveHdr));

if i<> 0 then showmessage('WaveOutPrepareHeader error');

i:=WaveOutWrite(HWaveOut1^,header,sizeof(TWaveHdr));

if i<> 0 then showmessage('WaveOutWrite error');

end;

0  COMMENTS