Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Vytvořte si vlastní WinAmp
mp3_player
7. června 2001, 00.00 | Mp3 - jedněmi oslavovaný, jinými zatracovaný, revoluční zvukový formát si získává stále větší oblibu u uživatelů. Pokud chcete vědět, jak se přehrávají mp3 skladby v Delphi, přečtěte si tento článek.
Úvod
Mp3 je bezesporu revolučním zvukovým formátem. MPEG Layer 3
dále jen Mp3 si získává stále více příznivců díky malé velikosti a velmi dobré
kvalitě. Mp3 funguje na principu vynechávání zvuků, které lidské ucho nedokáže
zachytit, a vysoké kompresi. Díky této metodě můžete mít z 50 MB písničky klidně
3 megový soubor. Někteří tvrdí: "Mp3 zabijí hudbu" jiní "Mp3
rozšiřuje hudbu". Tento audio formát si vysloužil podtitul "Bohatým bere
chudým dává", protože na jedno 650 MB CD můžete nahrát 10-20 cédéček
hudebních.
Jedním z prvních mp3 přehrávačů byl WinAmp. Nyní je na takové
úrovni, že málokterý přehrávač nabídne více možností a větší uživatelský
komfort.
Dnes Vám ukáži, jak vytvořit jednoduchý mp3 přehrávač. Možná někdo z
Vás naprogramuje díky tomuto článku ještě lepší program, než je WinAmp.
Přehrávání Mp3 v Delphi má více možností. "Empétrojky" můžete přehrávat pomocí nějaké speciální komponenty, nebo pomocí DirectX atd.
MediaPlayer
Dnes si ale ukážeme, jak vytvořit jednoduchý Mp3 Player pomocí komponenty MediaPlayer ze záložky System. Když zkusíte přiřadit soubor do vlastnosti FileName zjistíte, že máte na výběr z formátů .avi, .midi a .wav. Ale kde je .mp3? - Podle toho byste mohli usoudit, že komponenta MediaPlayer tyto soubory nepodporuje a šli byste na internet hledat komponentu, která formát .mp3 podporuje a umí ho přehrát. - Chyba! MediaPlayer "empétrojky" přehrávat dokáže. Jak? To Vám ukáže následující článek.
Design
Jelikož budeme dělat jednoduchý přehrávač, budeme potřebovat jen tlačítka Play, Pause a Stop komponenty MediaPlayer. Nastavte tedy všechny podvlastnosti VisibleButtons kromě btPlay, btPause a btStop na false.
Vytvoříme si formulář, který nazveme MainForm a na něj
přidáme tyto komponenty:
- jeden ListBox, který nazveme mp3List
- GroupBox s šesti komponentami Label a Edit
- Timer, nazvaný ProgressTimer
- Button , který pojmenujeme na mp3Loadbtn
- MediaPlayer - mp3Player
- ProgressBar s názvem Progress
- StaticTex - txtFolder
Komponenty doporučuji sestavit podle obrázku. Do komponenty mp3List budeme přidávat .mp3 skladby tlačítkem mp3LoadBtn. Komponenta Progress nám bude ukazovat odehranou část každé skladby a GroupBox informace o skladbě.
Informace o skladbě
V části interface si definujeme záznam pro čtení informací o skladbě z .mp3 souboru.
|
Náš mp3 Player zatím nedokáže rozpoznat druh skladby. K tomuto účelu si nadefinujeme 147 hudebních stylů, které budeme zobrazovat v editačním poli edGendre. Nebudu je zde vypisovat, protože by to bylo zbytečné plýtvání prostorem k tomuto článku. Uvedu jen část pro pochopení.
|
Nahrávání skladeb
Pro načítání informací o skladbě budeme používat systemové IO rutiny. Následující kód Vám ukáže, jak zaplnit informace o skladbě do editačních políček v GroupBoxu.
|
Kód je jednoduchý. Nejprve zjistíme
jestli je informace v ID3 správná, nebo jestli vůbec existuje, a pak
ji prostě doplníme do příslušných editačních políček.
K načítání souborů budeme používat fci BrowseDialog
a stejnojmenný dialog. Je lepší načítat soubory po
složkách, tak jak to umí třeba WinAmp. Při nahrávání "empétrojek" po
jednom byste se asi "uklikali".
|
Nejdřív se zobrazí BrowseDialog a Vy vyberete složku, ze které
se mají skladby načíst. Soubory se pak zobrazí v mp3Listu bez cesty. Ta se objeví
jako vlastnost Caption u
komponenty txtFoder.
O načítání všech souborů z dané složky se postará procedura FillMP3FileList.
|
Vlastní doplnění písniček do mp3Listu zajišťuje procedura mp3LoadbtnClick, která využívá již zmíněný BrowseDialog a proceduru FillMP3FileList.
|
Informace o skladbě, které se zobrazují ve GroupBoxu, se budou načítat ze záznamu po vybrání jedné skladby tzn,. že obsluha události OnClick mp3Listu bude vypadat takto:
|
Hned při vytvoření formuláře si zjistíme, v jaké složce se nachází a vyhledáme v ní všechny .mp3 soubory a vlastnost Max u komponenty Progress nastavíme na 0. Následující kód ukazuje událost OnCreate formuláře MainForm..
|
Aktualizace informací
Aby ProgressBar ukazoval odehraný čas každé skladby, musíme ho každou sekundu aktualizovat. K tomu nám bude sloužit ProgressTimer.
|
A takto vypadá náš WinAmp teď
Závěr
Přehrávání .mp3 souborů je o něco složitejší než přehrávání "prostých" wavů. Je také náročnější na systém. Proto nedoporučuji pouštet Mp3 Player, uvedený v této ukázce, na něčem slabším než je Pentium 100. Zvukový formát Mp3 je velmi, možná i nejvíce, používaný pro hudbu na počítači a proto by se s mp3 rozhodně mělo v budoucnosti počítat.
Download
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007