AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bass.dll Channel 0 ?!

Ein Thema von Nils_13 · begonnen am 16. Sep 2006 · letzter Beitrag vom 19. Sep 2006
Antwort Antwort
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Bass.dll Channel 0 ?!

  Alt 16. Sep 2006, 16:49
Hi,

hiermit spiele ich Lieder ab:
Delphi-Quellcode:
 procedure TfrmMain.PlayFile(index : integer);
 var filename : String;
 begin
   if (index < 0) or (index >= length(fFiles)) then
   begin
     raise Exception.Create('Index ausserhalb des erlaubten bereichs');
   end;
   BASS_ChannelSetPosition(chan, 0);
   BASS_ChannelStop(chan);
   filename := fFiles[index].pfad;
   chan := BASS_StreamCreateFile(FALSE,pchar(filename),0,0,0);
   if chan = 0 then
   begin
     chan := BASS_MusicLoad(False, pchar(filename), 0, 0, BASS_MUSIC_RAMPS or BASS_MUSIC_POSRESET or BASS_MUSIC_PRESCAN, 0);
     if (chan = 0) then
     begin
       MsgBox('Cannot play this song!');
       Exit;
     end;
   end;
    BASS_ChannelPlay(chan, TRUE);
 end;
fFiles: Array of TAudioFile;
filename := fFiles[index].pfad;

wenn ich auf den OK-Button im selbstgemachten OpenDialog klicke, wird das hier aufgerufen:
Delphi-Quellcode:
 procedure TfrmMain.AddIt;
 var i : Integer;
 begin
   setlength(f, frmOp.sl.Count);
   for i := 0 to pred(frmOp.sl.Count) do
   begin
     f[i] := frmOp.sl[i];
   end;
   AddFiles(f); [color=#ff0000]*[/color]
 end;
* da wurde AddFiles aufgerufen...:
Delphi-Quellcode:
 procedure TfrmMain.AddFiles(files : Array of String);
 var
   len : integer;
   i : integer;
 begin
   len := high(fFiles);
   if len < 0 then
     len := 0;
   SetLength(fFiles, len + Length(files));
   for i := 0 to length(files) - 1 do
   begin
     fFiles[len+i] := TAudioFile.Create;
     fFiles[len+i].GetAudioData(Files[i]);
   end;
   UpdateListBox();
 end;

 procedure TfrmMain.UpdateListBox;
 var i : integer;
 begin
   lbList.Items.BeginUpdate;
   lbList.Clear;
   for i:= 0 to length(fFiles) - 1 do
   begin
     lbList.Items.Add(fFiles[i].Artist + ' - ' + fFiles[i].Titel);
   end;
   lbList.Items.EndUpdate;
 end;
In AddFiles läuft etwas schief, denn es wird eine Meldung zum Abfangen einer AV in PlayFile hervorgerufen, wenn ich ein Lied (egal welches in der Playlist(lbList)) abspielen will. Anhand der Meldung weiß ich schonmal das das der Channel leer ist.
Die Frage: Was läuft in AddFiles schief ?


Wissenswert ist noch das:
Angehängte Dateien
Dateityp: zip units_195.zip (72,2 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#2

Re: Bass.dll Channel 0 ?!

  Alt 19. Sep 2006, 10:36
Keiner eine Idee ? Es sieht nur nach viel aus, ist es aber garnicht....
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz