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.
|
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.... |
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 |
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 |
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. |
Re: Audiostreaming über TCP oder UDP
Zitat:
|
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 |
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; |
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? |
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 13:02 Uhr. |
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