Die Möglichkeiten haben leider alle nicht funktioniert.
Das ganze Projekt hat übrigens ein Hintergrundbild (TImage). Vieleicht hat das etwas mit dem Problem zu tun. Hier mal der Code des Haupttimers:
Delphi-Quellcode:
if Video=true then begin //Wenn Datei ein Video ist
Trackposbar.position := Videoplayer.Position //Trackposbar auf Videoposition bringen
end else //Wenn die Datei eine Audiodatei ist
LPGauge.Progress := AudioPlayer.LeftPeak;
RPGauge.Progress := AudioPlayer.RightPeak;
//Visual
if AudioPlayer.Status in [sndPlaying] then DrawOSC := True
else DrawOSC := False;
if DrawOSC then
begin
OscDraw(OffScreenBitmap, AudioPlayer.getWaveData, 250);
VisPaintBox.Canvas.Draw(0, 0, OffScreenBitmap);
end;
PlayPos := AudioPlayer.position;
Trackposbar.Max := AudioPlayer.SongLength;
Trackposbar.position := AudioPlayer.position; //Trackposbar auf Audioposition bringen
CPULabel.Caption := 'CPU:' + FloatToStr(RoundX(AudioPlayer.CPUUsage,2));
Es gib noch 2 weitere Timer, ich glaube aber, dass die hier keine Bedeutung haben.
Ach ja, wenn ich das Hintergrundbild entferne blinken die VisPaintBox und die beiden Gaugen trotzdem. Das Timerintervall habe ich etwas beschleunigt und es beträgt jetzt 37 (ms).