Hallo,
ich habe auf meiner Homepage ein Webradio, jedoch können die DJ meistens nur abends.
Deswegen habe ich mir überlegt, ein Programm laufen zu lassen, wenn niemand streamt.
Dieses soll automatisch eine Liste von Liedern nacheinander abspielen.
Als Streamingserver nutze ich Shoutcast.
Ich stelle mir die Technik vom Streamen so vor:
Das Programm sendet per Socket eine mp3 zum Shoutcast-Server und wartet, bis dies vollständig gespielt ist, dann wird das nächste Lied hochgeladen.
Zu meinen Versuchen:
Zuerst hatte ich versucht, das Projekt mit Lazarus zu realisieren, schaffte es jedoch nicht, die Sockets zu integrieren.
Somit will ich es nun mit Delphi 2005 Personal machen und habe es bisher nur mit
Indy 10 TCPClient versucht.
Leider weiß ich nun nicht, ob mein zusammengesuchter Code richtig ist, und wie man ein
Server-Passwort da mit einbaut.
Delphi-Quellcode:
var gr:integer;
procedure TForm2.Button1Click(Sender: TObject);
var
FStream: TFileStream;
IDS: TidStreamVCL;
begin
TCP.Host := HostEdit.text;
if not (DateiOpenDialog.Execute)
then
exit;
FStream := TFileStream.Create(DateiOpenDialog.FileName, fmOpenRead);
try
IDS := TidStreamVCL.Create(FStream);
try
with TCP do
begin
Connect;
try
Socket.
Write(IDS, 0, true);
finally
Disconnect;
end;
end;
finally
FreeAndNil(IDS);
end;
finally
FreeAndNil(FStream);
end;
end;
procedure TForm2.TCPWork(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer);
begin
ProgressBar.Position := Round((AWorkCount / gr) * 100);
Application.ProcessMessages;
end;
procedure TForm2.TCPWorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Integer);
begin
gr := AWorkCountMax;
ProgressBar.Position := 0;
end;
Falls jemand eine komplett andere Lösung hat, wäre ich auch sehr dankbar.
MfG Alex