Thema: Delphi Bass.dll - Player spinnt

Einzelnen Beitrag anzeigen

Benutzerbild von smepal
smepal

Registriert seit: 25. Okt 2005
Ort: Bechen
58 Beiträge
 
Delphi 2005 Personal
 
#1

Bass.dll - Player spinnt

  Alt 3. Aug 2006, 17:49
also ich arbeite mit der bass.dll und will einen Musikplayer erstellen. Derzeit arbeite ich an einem Autocrossfading. Dazu will ich meine Play Procedur erweitern von:
Delphi-Quellcode:
procedure TForm1.Play (weiter: Boolean);
var f: PChar;
len: Integer;
time: Tdatetime;
begin
try
if weiter then
begin
bass_channelstop(p);

  f := PChar(list[pos].datei);

   p := BASS_StreamCreateFile(False, f, 0, 0, 0);

   if pos >= 0 then
      if not BASS_ChannelPlay(p, False) then
         Error('Error playing stream!');
position.Max := bass_channelGetLength(p);


end
else
begin

bass_channelstop(p);

      f := PChar(list[pos].datei);
   p := BASS_StreamCreateFile(False, f, 0, 0, 0);

   if pos >= 0 then
      if not BASS_ChannelPlay(p, False) then
         Error('Error playing stream!');

position.Max := bass_channelGetLength(p);

    end;
except
end;
end;
Um jetzt das autocrossfading zu realisieren will ich diese Procedur so erweitern:
Delphi-Quellcode:
procedure TForm1.Play (weiter: Boolean; ch: HSTREAM);
var f: PChar;
len: Integer;
time: Tdatetime;
begin
try
if weiter then
begin
bass_channelstop(ch);

   // Play the stream (continuing from current position)
  f := PChar(list[pos].datei);

   ch := BASS_StreamCreateFile(False, f, 0, 0, 0);

   if pos >= 0 then
      if not BASS_ChannelPlay(ch, False) then
         Error('Error playing stream!');
position.Max := bass_channelGetLength(ch);


end
else
begin
bass_channelstop(ch);

      f := PChar(list[pos].datei);
   ch := BASS_StreamCreateFile(False, f, 0, 0, 0);

   if pos >= 0 then
      if not BASS_ChannelPlay(ch, False) then
         Error('Error playing stream!');
position.Max := bass_channelGetLength(ch);

    end;
except
end;
end;
so wenn ich das jetzt mit
form1.play(true, p); aufrufe wird der Track der gerade abgespielt wird nicht angehalten!
Wieso?

//EDIT: CODE GEKÜRZT
Martin Krämer
Be water my friend!!!
  Mit Zitat antworten Zitat