Užitečné komponenty pro Delphi a C++ Builder, díl 76.

Znáte Winamp? Zbytečná otázka, kdo by ho neznal. Malá komponenta, kterou si dnes představíme, umí Winamp ovládat. Můžete tak ze svých aplikací fungování toho přehrávače kontrolovat a řídit jej.

WinAmpControl

Autorem komponenty je Ivan Spiridonov a nedá mi to, abych se nejprve nepozastavil nad jejím názvem. Je to asi malichernost, mně osobně je to jedno, ale ortodoxní vyznavači Winampu či přímo jeho autoři určitě skřípou zuby, když vidí v názvu WinAmp místo správného Winamp. :) Je to opravdu jen malá drobnost, ale právě nedávno jsem kdesi četl na toto téma rozhořčenou debatu a tak mě tento drobný kaz v názvu upoutal. Ale nejsme tu kvůli názvu komponenty, ale kvůli tomu, co umí.

Začneme instalací, která je tentokrát opět "klasická ruční", takže zdrojový soubor si přes menu Component nainstalujete běžným způsobem. Na paletě se vám pak objeví nová záložka s komponentou. Pochopitelně se jedná o komponentu nevizuální.

Jak tedy celá věc funguje? Budete-li chvíli hledat na webových stránkách Winampu ve vývojářské sekci, naleznete zde informace o Winamp API. Stejný text je i součástí archivu s komponentou. Ovládání Winampu probíhá jak jinak než prostřednictvím systému zpráv Windows. V popisu na stránkách se tak dozvíte, jak identifikovat okno Winampu a dále rozsáhlý seznam parametrů zpráv, které můžete Winampu poslat a tím jej ovládat. Jste-li tedy v této problematice jako doma, nebude pro vás sebemenší problém získat nad Winampem kontrolu. A chcete-li si ušetřit čas nebo nevíte jak na to, pro vás je právě naše dnešní komponenta.

Ta v sobě skrývá kompletní systém zpráv a všechny možné parametry z Winamp API. Vzhledem k dostupnosti zdrojového kódu navíc není problém si případné další rozšíření doplnit. Po umístění komponenty na formulář zjistíte, že z Object Inspectoru lze nastavit vlastně velmi málo parametrů a komponenta nemá dokonce ani žádnou událost. Mezi nastavitelné vlastnosti patří jednak přepínač, zajišťující ukončení Winampu spolu s vaší aplikací (spuštěn bude automaticky, pokud již neběží). Dále je to časový interval, který určuje dobu od spuštění Winampu do prvního použití nějaké funkce komponenty. Spustí-li totiž komponenta Winamp, neumí zjistit, zda už se Winamp kompletně spustil a je připraven k použití (přeci jen nějakou sekundu to trvá). Tento interval je implicitně nastaven na 5 sekund. Dalším přepínačem zajistíme automatické spuštění (a nalezení okna) Winampu po spuštění naší aplikace. Předposlední vlastností je textový řetězec obsahující cestu k Winampu. Bohužel není zjišťována automaticky, je pouze nastavena implicitní hodnota (C:\Program Files\Winamp\winamp.exe), takže pro jistotu ve vašich aplikacích tuto detekci zajistěte sami (je uložena v registrech) a příslušnou cestu komponentě vnuťte. Posledním velmi důležitým parametrem je WinampClassName, tedy název třídy, podle které bude spuštěný Winamp identifikován. Implicitní hodnota je "Winamp v1.x", která funguje pro všechny verze 1.x a 2.x.

Tolik tedy k viditelným nastavitelným vlastnostem. Zbytek, tedy celou funkčnost komponenty, pak již zajišťují metody, které posílají Winampu příslušné zprávy. Jejich celý seznam zde nemá cenu vypisovat, je příliš dlouhý, ale najdete zde kompletní ovládání přehrávání (metody Play, Pause, Stop, NextTrack atd...), práci s hlasitostí, equalizérem, playlisty, zkrátka všechny funkce, které ve Winampu najdete.

S komponentou jsem neměl žádné problémy a fungovala spolehlivě. Svým zaměřením je více podobná unitě než komponentě a snadno si můžete upravit zdrojový kód, který je přehledný. Chcete-li si tedy trošku pohrát s Winampem, vzhůru do toho.

www
verze: ?
Delphi: 2 - 7
C++ Builder: ne

Diskuze (2) Další článek: Sun představil svou vylepšenou verzi P2P protokolu

Témata článku: Software, Windows, Programování, Předposlední verze, Stejný text, Díl, Komponenta, Malá drobnost, Winamp, Kompletní ovládání


Určitě si přečtěte

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

Byli tam! Důkazy o přistání na Měsíci, Lunochody i čínská sonda jsou vidět z vesmíru

** Sonda LRO pořídila z oběžné dráhy Měsíce zajímavé snímky ** Jsou na nich vidět artefakty všech misí programu Apolla, které přistály na povrchu Měsíce ** Jde například o části lunárních modulů, rovery a dokonce i vlajky

Petr Kubala | 59

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

Nová zbraň Microsoftu proti iPadu: Levný tablet Surface Go bude stát jen deset tisíc

** Microsoft představil nový tablet Surface Go ** Nový model zaujme nízkou cenou, ale schopnostmi zařízení Surface ** Microsoft nepoužil čip ARM, ale klasický procesor od Intelu 

Karel Javůrek | 116

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

Jak dopadl velký den Applu s náloží novinek: Sledujte, co letos připravil

** Apple večer představil novinky ** Ukáže nové operační systémy, ale čekala se i nová zařízení ** Začíná vývojářská konference Applu WWDC 2018

Karel Javůrek | 87

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

Nechcete platit za Total Commander? Těmito bezplatnými programy ho můžete nahradit

** Total Commander je na Windows takřka legendou ** Licence však stojí více než tisíc korun ** Našli jsme pro vás deset alternativ dostupných zdarma

Karel Kilián | 141


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji