Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Audiostreaming über TCP oder UDP (https://www.delphipraxis.net/106489-audiostreaming-ueber-tcp-oder-udp.html)

sirius 11. Jan 2008 19:05

Re: Audiostreaming über TCP oder UDP
 
Das sagt, dass ich nicht die Adresse kopieren will, wo der Inhalt des Streams steht, sondern ich will den Stream selber kopieren.

hedie 11. Jan 2008 19:12

Re: Audiostreaming über TCP oder UDP
 
Und wie kann ich den stream wieder einlesen?

Ich nehme mal an, das ich Stream.write machen muss, aber da benötigt der Stream ja noch die Länge,
und ich weiss net wie ich die rausbekommen kann....

wicht 11. Jan 2008 19:26

Re: Audiostreaming über TCP oder UDP
 
Hm.. über die Komplexität der ganzen Sache bist du dir aber im klaren, oder?
Ich meine, ich bin auch kein über-Pro, aber wenn du hier solche Fragen stellst, glaube ich, dass es in einem Projekt endet, wo ein paar Sachen zusammen geworschtelt worden sind... und dass es dann vielleicht noch nicht einmal Ton überträgt... Also, nicht böse gemeint, aber eine Art Telefonie Software zu schreiben ist denke ich schon etwas komplizierter... Du willst ja vermutlich auch nicht einfach nur einen Stream verschicken, sondern einen Stream, der kein Ende hat, damit eine Seite immer sprechen kann, und die andere immer empfängt.. und selbst das wäre nur die erste Stufe..

Wäre das hier heise, würde ich jetzt schreiben "Macht mich rot, aber ich meine es so!" :-D

hedie 11. Jan 2008 20:00

Re: Audiostreaming über TCP oder UDP
 
:D

Ne bin nicht böse... kann dich gut verstehen :D

Ja es soll natürlich schon ein Kontinuierlicher Stream sein :D

Mal sehen wie weit ich kommen werde :D

sirius 11. Jan 2008 20:15

Re: Audiostreaming über TCP oder UDP
 
Naja prinzipiell brauchst du erstmal ein eReigns und hängst den Part an den Empfängerstring ran.

Ich würde dir noch raten einen kleinen Protokollheader zu entwerfen umd den Paketen Nummern bzw. Zeitstempel zu verpassen. Mehr tipps kann ich dir allerdings nicht geben, da mir die Erfahrung im Umgang mit Sound fehlt.

Basilikum 11. Jan 2008 23:37

Re: Audiostreaming über TCP oder UDP
 
Zitat:

Zitat von sirius
Ich würde dir noch raten einen kleinen Protokollheader zu entwerfen umd den Paketen Nummern bzw. Zeitstempel zu verpassen.

da würde sich natürlich RTP (A Transport Protocol for Real-Time Applications) geradezu aufdrängen: RFC 1889

hedie 12. Jan 2008 07:47

Re: Audiostreaming über TCP oder UDP
 
Jo... Danke

Ich wollte mal einen Stream mit dem von dir geposteten Code übertragen.

Jedoch kommt immer der fehler, das es keine Überladene Funktion von SendBuffer gibt die mit diesen Eigenschaften aufgerufen werden kann

Der fehler bezieht sich auf den Pointer X

sirius 12. Jan 2008 08:04

Re: Audiostreaming über TCP oder UDP
 
:gruebel: das funktioniert nicht? Und du hast es so übernommen (x als pointer oer ppointer)?

Naja, mit Header ist es etwas anders
Delphi-Quellcode:
type PPaket=^TPaket;
     TPaket=packed record
       headerinfo1:integer; //oder sonst irednetwas,
       headerinfo2:byte;
       //...
       //können auch mehrere nichtdynamische Variablen sein
       data:array[0..0] of byte;
     end;


//Senden einer festen Paketgröße (nur Beispiel; kann auch sein, dass du es anders machen musst)
var Paket:PPaket;
    size:integer;
begin
  size:=50; //Größe der Datenpakete evtl. festlegen
  getmem(Paket,sizeof(TPaket)+size);
  stream.Read(Paket^.data,size);
  Paket^.headerinfo1:=size; //z.b.,
  //...oder was eben in den Header so alles gehört

  idudpserver1.SendBuffer('127.0.0.1',2000,Paket^,sizeof(TPaket)+size);
  freemem(Paket);
end;

hedie 12. Jan 2008 08:30

Re: Audiostreaming über TCP oder UDP
 
Danke werd ich mal testen....

Ich hätte da noch ne frage...

Es gibt doch bestimmt eine VOIP Komponente. Ich hab auch eine im Forum gefunden, jedoch nur für
bzw. bis Delphi 6 und ich hab ja Delphi 2007

Ich hab früher mal ein Beispiel Programm gefunden, welches ganz "klein" war und man direkt verbinden konnte...
Leider weiss ich nicht mehr wo ich das her hab. Finden tu ich es auch nicht.

Es war glaube ich TCP... aber ich denke UDP wird wie du gesagt hast zu aufwendig als das es sich lohnen würde...

Vieleicht kennst du ja auch so ein Programm natürlich mit sourcen oder ne VOIP kompo?

sirius 12. Jan 2008 09:36

Re: Audiostreaming über TCP oder UDP
 
Nee, kenne ich nicht. Ich habe mich, wie gesagt, noch nie mit Sound o.ä. beschäftigt. Aber es dürfte kein Problem sein, dass so eine Komponente auch unter D2007 funktioniert.

Edit:
Aber vielleicht kann ich dir noch etwas helfen, wenn du erzählst wie du die Audiodaten vom Mikro bekommst und wie du sie auf der anderen Seite abspielen musst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz