Показать сообщение отдельно
  #1  
Старый 05.09.2011, 16:46
x4b x4b вне форума
Прохожий
 
Регистрация: 05.09.2011
Сообщения: 3
Репутация: 10
По умолчанию Связка Bass.dll и компанентов indy UDP

Здравствуйте... пытаюсь отправить от клиента indyuUDPclient-а звук с микрофона... а на сервере пытаюсь принять через indyUDPserver и воспроизвести этот звук, но увы как не стораюсь звук получаеться с каким то треском шипом и т.д.

ниже код просьба знатоков помочь разобраться...

клиент...

PHP код:
function RecordingCallback(Handle: HRECORD; buffer: Pointer; length, user: DWord): boolean; stdcall;
begin
  Form1
.IdUDPClient1.SendBuffer(buffer^, length);
  
Result := True; // continue recording
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdUDPClient1
.Active := True;
  
rchan := BASS_RecordStart(44100, 2, MakeLong(0, 1), @RecordingCallback, nil);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  r_Init 
:= BASS_RecordInit(-1);
end; 

сервер...

PHP код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  IdUDPServer1
.Active := True;
  
BASS_ChannelPlay(chan, False);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BASS_Init
(-1, 44100, 0, Handle, nil);
  
chan := BASS_StreamCreate(44100, 2, 0, STREAMPROC_PUSH, nil);
end;

procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TStream;
  
ABinding: TIdSocketHandle);
begin
  
//как здесь обработать принетый TStream незнаю все перепробовал...
  
BASS_StreamPutData(chan, ???, ???);
end; 

Помогите уважаемые знатоки.... Заранее благодарен...
Ответить с цитированием