Zdravím,
nejdříve bych se chtěl zeptat, jak podmínkou zjistím, že v komponentě listbox není nic? Nemohu na to přijít, omlouvám se, pokud to tady někde je.
A tou hlavní otázkou je mp3 přehrávač. Potřeboval bych poradit, jak napsat např. pomocí cyklu, aby se soubory v seznamu (listbox) postupně přehrávaly.
Jde totiž o budík, který si ve chvílích volna vylepšuji. Nejdříve vždy běžel jen s jednou adresou k souboru a pokud jsem chtěl, aby mě vždy po několika minutách opět hrál, musel jsem aplikací spustit několik a každou nastavit zvlášť. Nyní jsem budík vylepšil o několik věcí a vícenásobné nahrávání souborů. Vše už běží jak má, pouze už si nevím rady, jak uložit do proměnné vždy první řádku (adresu) souboru a tu pomocí media playeru přehrát. Až by dohrála jedna (chtěl bych ještě možnost nastavit, po jaké době), začne hrát druhá, třetí,...
Za všechny odpovědi mockrát děkuji.
Delphi - přehrávání písniček postupně
- CZechBoY
- Master Level 9.5
- Příspěvky: 8813
- Registrován: srpen 08
- Bydliště: Brno
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: Delphi - přehrávání písniček postupně
Vítej na PC-HELP!
asi existuje v Delphi něco jako Length(listbox.Items) mohlo by to vrátit počet itemů v listboxu, takže když bude 0 nic tam není
asi existuje v Delphi něco jako Length(listbox.Items) mohlo by to vrátit počet itemů v listboxu, takže když bude 0 nic tam není
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW
Re: Delphi - přehrávání písniček postupně
Listbox1.Items.Count
Re: Delphi - přehrávání písniček postupně
Děkuju moc.
A k té druhé otázce, poradil by někdo prosim?
A k té druhé otázce, poradil by někdo prosim?
Re: Delphi - přehrávání písniček postupně
opakovaný přehrávání můžeš zkusit třeba takhle:
V objectinspektoru je třeba nastavit AutoOpen, AutoRewind a AutoEnable na True
Kód: Vybrat vše
var
Form1: TForm1;
Loop : boolean;
implementation
{$R *.dfm}
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
if (MediaPlayer1.NotifyValue = nvSuccessful) and (Loop=true) then
begin
MediaPlayer1.Play;
MediaPlayer1.Notify := true;
end;
end;
procedure TForm1.PlayClick(Sender: TObject);
begin
Loop := true;
MediaPlayer1.Play;
MediaPlayer1.Notify := true;
end;
procedure TForm1.StopClick(Sender: TObject);
begin
Loop := false;
MediaPlayer1.Stop;
MediaPlayer1.Notify := true;
end;
end.
V objectinspektoru je třeba nastavit AutoOpen, AutoRewind a AutoEnable na True
Re: Delphi - přehrávání písniček postupně
Děkuji moc. Jede to jak má :)
Re: Delphi - přehrávání písniček postupně
Jinak řešil jsem poté ještě postupné přehrávání pisniček z listboxu, kde v listboxu jsou uloženy celé cesty souborů. Takže kdyby někdo řešil stejný problém, vymysel jsem takový "skákající" kód, který funguje bez chyby:
- Jde pouze o tři hlavní procedury, kdy se úplně první pisnička v seznamu zcela normálně přehraje. V druhé proceduře mezitím timer neustále zjišťuje, zda písnička dohrála, pokud ano, procedura se vykoná a hodí běh programu na další proceduru s názvem HrajNext. V té je asi každému vše jasné, pouze ta nejdůležitější věc je až na poslední řádce, kdy program opět skočí na proceduru Hraj a tak se to neustále opakuje dokola.
Nějakou dobu mě to trvalo, než jsem na to přišel
. Někomu se to třeba bude hodit.
Kód: Vybrat vše
procedure TForm1.Hraj;
begin
if Lbx.Items.Count <> 0 then
begin
TimerGaugeBar.Enabled := True;
Music.Open;
Music.Play;
TimerPlay.Enabled := True;
end;
end;
procedure TForm1.TimerPlayTimer(Sender: TObject);
begin
if Music.Position = Music.TrackLength[Music.Length] then
begin
TimerPlay.Enabled := False;
HrajNext;
end;
end;
procedure TForm1.HrajNext;
begin
TimerPlay.Enabled := False;
Music.Close;
TimerGaugeBar.Enabled := False;
q := q + 1;
if q > Lbx.Items.Count-1 then
Music.Close
else begin
Music.FileName := Lbx.Items[q];
Music.Open;
TimerGaugeBar.Enabled := True;
Gauge1.Progress := 0;
Hraj;
end;
end;
- Jde pouze o tři hlavní procedury, kdy se úplně první pisnička v seznamu zcela normálně přehraje. V druhé proceduře mezitím timer neustále zjišťuje, zda písnička dohrála, pokud ano, procedura se vykoná a hodí běh programu na další proceduru s názvem HrajNext. V té je asi každému vše jasné, pouze ta nejdůležitější věc je až na poslední řádce, kdy program opět skočí na proceduru Hraj a tak se to neustále opakuje dokola.
Nějakou dobu mě to trvalo, než jsem na to přišel

-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Přehrávání hudby v autoradiu přestane po chvíli hrát
od extrem » 07 dub 2025 17:34 » v Vše ostatní (hw) - 0
- 1618
-
od extrem
Zobrazit poslední příspěvek
07 dub 2025 17:34
-
Zpět na “Programování a tvorba webu”
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti