![]() |
VoIP mit Delphi?
Hallöle...
Wollte mal Fragen ob es möglich ist, mit Delphi ein Voice over IP Programm zu programmieren. Das stell ich mir vom Aufbau einfach vor... Es soll einen "Raum" geben in dem alle reden können, ausserdem noch ein Settings Menü in dem man alles mögliche einstellen kann (Lautstärke, Mikrofon-Empfindlichkeit...) |
Re: VoIP mit Delphi?
Zitat:
![]() |
Re: VoIP mit Delphi?
Danke
Hab vorhin schon gegooglet aber nicht auf die Ergebnisse geachtet |
Re: VoIP mit Delphi?
Zitat:
|
Re: VoIP mit Delphi?
Skype wäre eins ;)
|
Re: VoIP mit Delphi?
skype ist in delphi geschrieben???
|
Re: VoIP mit Delphi?
Zitat:
|
Re: VoIP mit Delphi?
Teamspeak ist auch in Delphi und die Linux Variante in Kylix.
|
Re: VoIP mit Delphi?
MediaMonkey ist auch in Delphi geschrieben.
Und ich habe mich letztens gewundert, warum in den Teamspeak HTTP-Headern stand: ... Server: Indy 9.0.27 ... Es sind mehr Programme in Delphi geschrieben als man denkt :D Marius |
Re: VoIP mit Delphi?
Ich würde dafür die Bass kompo nehmen und die Indy.
Player1: Mit der Bass dem Stream erstellen oder aufnehmen und den stream dann mit Indy TCP /UDP versenden. Player2: Stream Empfangen und abspielen. Versucht mal mehr nicht - kommerzielle wege zu gehn, so lernt man einfach besser mit der IDE umzugehen. Probiern geht ÜBER studiern. Also einfach IDE öffnen und versuchen. Von VoIP komponente halte ich persönlich nicht viel da es meisten demos sind oder fertige ActiveX kompos die schweine geld kosten. Und in der sache bin ich sowieso sehr eigen. Erstell einfach mal zum Test einen Bass Stream also mit ner MP3 und versuch den einfach zu senden und auf dem anderen (PC) zu empfangen. Die antworten vonwegen es gibt doch skype oder TS2 finde ich net so toll, die leute fragen ja nicht ob es sowas gibt um einen Link zu erhalten, sonder sie möchtn evtl mal selber sowas baun, und suchen einen weg.
Delphi-Quellcode:
So wie da funktioniert es, was ich leider nicht geschaft habe ist den Stream wieder freizugeben um ihn sofort abzuspielen, Das Prinziep ansich funzt. Ich bin auch kein Pro habe es mal ungeniert mal hingeklatscht.
// Server (Port 11)
procedure TForm1.EmpfaengerExecute(AContext: TIdContext); Var Stream:hStream; FStream:TFileStream; InetVoIStream:TIDStreamVCL; begin Delmtext.Delimiter:=','; if ACOntext.Connection.Connected then begin DelmText.DelimitedText:=ACOntext.Connection.IOHandler.ReadLn; if DelmText.Strings[0] = 'GetVoice' then begin fStream := TFileStream.Create(DelmText.Strings[1],fmopenwrite or fmCreate); InetVoIStream:=TIDStreamVCL.Create(fStream); try ACOntext.Connection.IOHandler.ReadStream(InetVoIStream); FreeAndNil(fStream); FreeAndNil(InetVoIStream); finally ACOntext.Connection.Disconnect; try stream:=bass.BASS_StreamCreateFile(false,Pchar(DelmText.Strings[1]), 0 ,0, BASS_SAMPLE_SOFTWARE); finally if not(stream =0) then Bass_channelPlay(stream,false); end; end; end; end; end; // Client (Port 10) procedure TForm1.Button1Click(Sender: TObject); Var fStream:TFileStream; InetVoIStream:TIDStreamVCL; Path:String; begin if not Sender0.Connected then Sender0.Connect('localhost',11); if OpenDialog1.Execute then With Sender0.IOHandler do begin WriteLn('GetVoice,'+'test.mp3'); Path := OpenDialog1.FileName; fStream := TFileStream.Create(Path, fmOpenRead or fmShareDenyNone); InetVoIStream:=TIDStreamVCL.Create(fStream); WriteBufferOpen; Write(InetVoIStream); WriteBufferClose; FreeAndNil(fStream); end; end; procedure TForm1.EmpfaengerStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); begin Memo1.Lines.Add(AStatusText) end; procedure TForm1.FormCreate(Sender: TObject); begin DelmText:=TStringlist.Create; end; Wie gesagt, die datei (stream) wird versendet und kommt auch an, nur ich krieg den Stream nicht frei ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz