IdUDPServer의 Receive시에 AData Stream의 데이터를 받아서 처리하는 부분입니다.
Data의 Header부분을 제외한 부분만 잘라서 버퍼에 누적하면서
그 버퍼의 Data를 실시간으로 재생하는 프로그램입니다.
문제는 2line 부터 수행이 안되구요.. 2 line을 주석처리하면 4 line에서 뻑 맛갑니다.
AData 에서 Header부분을 제외한 데이터를 복사해서 FPCMData라는 Stream을 생성한다음
할당을 하고.. 고것을 Port의 Stream에 누적을 했습니다..
대충 아시겠죠?
제가 워낙 초보라서.. 많이 허접해요 욕하지 마시고.. 관심 부탁드립니다..
소스는 아래와 같습니다..
=================================================================================
 if ( FPCMData = nil ) then  FPCMData := TStream.Create;
 FPCMData.Position := 0;
 AData.Position := SizeOf(lcs_rsp_msg_vqt_se);       // Header를 제외한 부분을 FPCMData로 복사 (80 byte)
 Adata.ReadBuffer(FPCMData, AData.Size - SizeOf(lcs_rsp_msg_vqt_se));
 Port.AddPCMData( FPCMData, FPCMData.Size );         // 80byte를 Port의 Stream에 누적.
 FACMPlayer.Play( FPCMData );                        // 80byte Stream 데어터를 재생.
 if ( FPCMData <> nil ) then  FPCMData.Free;
-----------------------------------------------
// Port 클래스의 Stream을 차곡차곡 누적하는 함수..
procedure TPort.AddPCMData(Buff: TStream; _Size: Integer);
var
 pos: Integer;
begin
 pos := FData.Size;
 FData.Position := pos;
 FData.Write(Buff, _Size);
end;