Einzelnen Beitrag anzeigen

100nF

Registriert seit: 7. Nov 2004
639 Beiträge
 
#10

Re: BassPlayerEx mit erweiterten Soundeffekten (eine Soundka

  Alt 19. Mär 2006, 18:51
Hallo omata,

ich denke, das habe ich soweit mal verstanden.
nun wollte ich mal doFadingOut bei einem channel anwenden.

meine OnUpdateTimeEvent sieht so aus:
Delphi-Quellcode:
procedure TForm1.OnUpdateTimeEvent(Basschannel: TBasschannel);
var TimeUp, TimeLength: String;
begin
  channela.FadeTime := 5;
  channela.FadeAuto := true;
  channela.FadeStop := true;
  label5.Caption := booltostr(channela.isComplete, true); // Hier sehe ich immer, ob true oder false
  label6.Caption := booltostr(channela.isFadingOK, true); // und hier auch
  label7.Caption := booltostr(channela.isFadeOutPosition, true); // und hier
  if (channela.isFadingOK) and (channela.isFadeOutPosition) then
    channela.doFadingOut;

  if channela.Status in [sndplaying, sndpaused] then
  begin
    TimeUp := ChannelA.SongTimeInfo[SongTimeUp].asSecString;
    TimeLength := ChannelA.SongTimeInfo[SongTimeLength].asSecString;
    if TimeUp = '--:--then TimeUp := '00:00';
    if TimeLength = '--:--then TimeLength := '00:00';
    label3.caption := TimeUp +' von '+ TimeLength;
    JvXPProgressBar1.Position := ChannelA.SongTimeInfo[SongTimeUp].asmillisecinteger;
  end;
end;
also isComplete ist immer true wenn ein track abgespielt wird. is fadingOk auch. aber isFadeOutPosition wird immer erst true, wenn der Track zu ende ist, also findet nie ein FadingOut statt. warum ist das so? FadeTime ist ja gesetzt.

EDIT: ICh habe grad noch etwas gemerkt:
Delphi-Quellcode:
channela.FadeTime := 5;
channela.FadeStop := true;
Channela.doFadingOut;
wenn ich diesen code aufrufe, wird die lautstärke immer leiser bis man nichts mehr hört, doch der track läuft fröhlich weiter, obwohl die volume auf null ist. beim onUpdateTimeEvent wird ja die Position der JvXPProgressBar1 immer aktualisiert (das ist die position des tracks). daran sehe ich auch, dass der track auch nach dem doFadingOut noch weiterläuft. wenn ich dann die volume von ChannelA hochdrehe, höre ich den track wieder. aber FadeStop ist ja auf true, da sollte doch nach dem doFadingOut sofort ChannelA.Stop aufgerufen werden, oder?

gruss
urbanbruhin
  Mit Zitat antworten Zitat