Habe hier mal ein Script versucht zu entwerfen, dass regelmäßig checkt ob einer mein Encoder ins Internet streamt. Habe 5 Encoder. Der erste und der letzte sind jeweils Airchecks, die anderen 3 Icecaststreams. Der erste ist ein Mitschnitt den man bei Bedarf manuell starten und auch wieder ausschalten kann. Der andere soll starten sobald einer oder mehrere der Icecastencoder verbungen ist, nicht nur eingeschaltet. Außerdem sollte bei Verbindung der ON AIR Status auf ON AIR gesetzt werden.
procedure OnStartup;
begin
EnableTimer(250);
end;
procedure OnTimer;
begin
if Encoder.GetConnections.GetItem(1).GetState = ecsConnected then
begin
ExecuteCommand ('ON AIR');
Encoder.GetConnections.GetItem(4).SetEnabled(true);
end
else if Encoder.GetConnections.GetItem(2).GetState = ecsConnected then
begin
ExecuteCommand ('ON AIR');
Encoder.GetConnections.GetItem(4).SetEnabled(true);
end
else if Encoder.GetConnections.GetItem(3).GetState = ecsConnected then
begin
ExecuteCommand ('ON AIR');
Encoder.GetConnections.GetItem(4).SetEnabled(true);
end
else
begin
ExecuteCommand ('OFF AIR');
Encoder.GetConnections.GetItem(4).SetEnabled(false);
end;
end;
begin
end.
Beim Starten von mAirlist bekomme ich keine Fehlermeldung, aber trotzdem funktioniert es nicht.
Vielen Dank schonmal im Voraus für eure Hilfe.
Gruß Henrik