pointer, wskazniki, odczytanie bufora

0

Mam nastepujacy problem:
Mam sobie procke ktora w zdarzeniu nagrywa co sekunde dzwiek z mikrofonu do bufora. Cchailbym pobrac te dane do bufora aby je potem socketem przeslac.

procedure TForm1.mikData(data: Pointer; size: Integer);

Jak to zrobic tzn pobraz ten dzwiek o takim wskazniku i takim rozmiarze jak w proedurze?
Potem chiałbym wysłac to SendBuf(...)

0

socket.sendbuff(data^, size);

Chciałbym jednak zwrócić uwagę na to, iż dźwięk trzeba będzie jakoś skompresować, bo zapewne jest w formacie PCM. Trudno będzie takie coś słać przez net.

0

socket.sendbuff(data^, size);

A jak zbudowac procke ktora w zdarzeniu CliectRead (sockety) w procedurze ReadBuf(...) odczyta to tak. aby mozna bylo to wpakowac do procki odtwarzajacej ten dwiek i aby ZADZIALALO :-)

dzieki za pomoc

0

No, to już zależy, czego używasz do odtwarzania dźwięku.

0

Procedura obslugujaca zdarzenie kiedy otrzymany zostanie dzwiek:

procedure TForm1.mikrofonData(data: Pointer; size: Integer);

i tu musi nastapic wyslanie bufora dzwieku...

Po drugiej stronie socket odbiera dzwiek w zdarzeniu:

procedure TForm1.sClientRead(Sender: TObject; Socket: TCustomWinSocket);
    begin
socket.ReceiveBuf(..co tutaj?);

//tu procedura komponentu ktora odpowiedzialna jest za puszczenie tego dzwieku
ACMWaveOut1.PlayBack(tu bufor,tu dlugosc);
//i jak to zrobic?
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1