Audiostream in Echtzeit über Socket versenden und empfangen
-
Hallo an Alle.
Ich möchte gerne ein Audiosignal über Internet in Echtzeit versenden.
Chaten und Dateiübertragung funktionieren bereits prima.
Ich verwende dazu die Komponenten ClientSocket und ServerSocket.
Aber wie bekommt man nun ein Audiosignal in einen Stream und diesen AudioStream
in Echtzeit über den Socket?Ich hoffe Ihr könnt mir helfen.
MfG
Gismo2007
-
Hallo
das kommt ja darauf an, was für eine Quelle genau für das Audiosignal zuständig ist. Wenn eine Datei abgespielt werden soll, mußt du siese eben mit einem TFileStream öffnen, und hast deinen Stream.
Kommen die Audiosignal in Echtzeit an (Mikrofon), dann must diese zum Beispiel in einem TMemoryStream sammeln und weiterverarbeiten (FIFO-Buffer).Das übertragen must du in dein bestehendes Protokoll einbauen bzw. ein neues paralleles Protokoll über eine zusätzliche Verbindung auf einen anderen Port einfügen.
Dabei versendest du die Audiodaten stückchenweise genauso wie du eine Datei überträgst. Der Unterschied ist, das der Empfänger die Möglichkeit haben muß, diese zu synchronisieren, das heißt die einzelnen Audioteile zur richtigen Zeit abzuspielen.
bis bald
akari
-
Hallo Akari.
Vielen Dank für Deine superschnelle Antwort.
Meine Audioquelle ist ein Mikrofon. Der Tipp mit dem TMemoryStream war schon
mal super. Aber wie bekomme ich jetzt das Audiosignal in den MemoryStream?
Mit der TMediaPlayer-Komponente bekomme ich das Audiosignal nicht dort hinein.
Die Komponente möchte immer einen "Dateinamen" über "MediaPlayer1->FileName" haben, sonst streikt sie.
Kann man das irgendwie umleiten, oder gibt es da noch eine eine andere Möglichkeit ein Audisignal in einen MemoryStream zu bekommen?MfG
Gismo2007
-
Hallo
Vermutlich iust die TMediaPlayer-Kompoennte nicht dafür geeignet die Audiosignal direkt in en Speicher zu übergeben. Du must dann WinAPI-Funktionen benutzen. Such also im WinAPI-Forum weiter bzw. las diesen Thread dorthin verschieben.
bis bald
akari