Einzelnen Beitrag anzeigen

UnixX

Registriert seit: 26. Jul 2003
Ort: Unknown
25 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Mp3 Player startposition mit der TrackBar festlegen

  Alt 26. Nov 2003, 21:44
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;
  Mit Zitat antworten Zitat