Also ich habe das bis jetzt so gemacht.
Delphi-Quellcode:
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
channel:dword;
pos:qword;
strea:hstream;
len:QWORD;
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
BASS_Init(1, 44100, 0, Application.Handle, nil);
end;
//**************Einfügen der MediaFiles in die ListBox(Playlist)**************
procedure TForm1.openfilesbtnClick(Sender: TObject);
var
i:integer;
begin
if opendialog1.Execute then
for i:=0 to opendialog1.Files.Count -1 do
begin
listbox1.AddItem(extractfilename(opendialog1.Files.Strings [i]),nil );
end;
end;
//*************Auswehlen des Songs***********************
procedure TForm1.ListBox1Click(Sender: TObject);
var
i:integer;
begin
i:=listbox1.ItemIndex ;
bass_streamfree(channel);
opendialog1.FileName := listbox1.Items.Strings [i];
Channel := BASS_StreamCreateFile(FALSE, PChar(listbox1.Items.Strings [i]), 0, 0, 0);
len:=BASS_StreamGetLength(channel);
len:=len div 1000;
trackBar1.Max :=len; //<== Hier wird die TrackBar.max festgelegt
end;
procedure TForm1.playbtnClick(Sender: TObject);
begin
BASS_StreamPlay(Channel, False, 0);
End;
procedure TForm1.timeTimer(Sender: TObject);
var
i:integer;
begin
i:=BASS_ChannelGetPosition(channel);
i:=i div 1000;
label3.Caption :=inttostr(i);
trackbar1.Position :=i; //<== Hier wird die aktuelle Songposition von der TrackBar angezeigt.
end;
vorerst habe ich hier Rumexperimentiert versucht es so zu machen das der
Player ab der aktuellen trackbar position den Song abspielt.
Und irgendwie klappt das nicht so.
Delphi-Quellcode:
procedure TForm1.tertTimer(Sender: TObject);
var
i:integer;
begin
//BASS_ChannelSetPosition(Channel,BASS_ChannelSeconds2Bytes(Channel, i));
BASS_ChannelSetPosition(lend,(pos)) ;
//channel:=track.Position ;
lend:=track.Position ;
//BASS_StreamPlay(Channel, False, 0);
end;