![]() |
Mp3 Player startposition mit der TrackBar festlegen
Hallo Leute!
Ich bastle zur zeit an einem Audio Player mit der bass.dll, wie z.B. der von Luckie. Und ich würde zu gern wissen wie das mit der TrackBar funktioniert. Ich habe zwar, mir den code von Luckies Player angeschaut, aber ich werde nicht schlau draus. :gruebel: :wall: Luckie bitte hilf mir! Ich will wissen wie man mit der TrackBar die Startposition in einem Lied festlegen kann. |
Re: Mp3 Player startposition mit der TrackBar festlegen
im onchange ereignis der Trackbar einfach die position neu setzen. Um zu vermeiden das die anweisungen darin ausgeführt werden wenn der player die position setzt die anweisung nur ausführen lassen wenn die trackbarposition 2 sekunden oder so von der mp3-position abweicht. Oder die position im OnMouseUp setzen oder die Position nur im onChange setzen wenn die maus gedrückt ist
|
Re: Mp3 Player startposition mit der TrackBar festlegen
Passt das in "Sonstiges"?...
meine unit könnte dir helfen: ![]() besonders: length und position |
Re: Mp3 Player startposition mit der TrackBar festlegen
Hi Thornberry,
das mit den 2 sekunden kommt mir aber sehr bekannt vor. :zwinker: @UnixX, wir hatten diese Problem hier schon mal gelöst. (Es ging da zwar um den Mediaplayer, aber das mit der Position ist ja analog zu deinem Problem) ![]() http://www.delphipraxis.net/images/common/divider.jpg ![]() ![]() ![]() |
Re: Mp3 Player startposition mit der TrackBar festlegen
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. :wall: :gruebel: :wall: :kotz:
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; |
Re: Mp3 Player startposition mit der TrackBar festlegen
Kann mir jemand vielleicht ein Tipp geben??? :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz