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í, Winamp, Kompletní ovládání, Díl, Předposlední verze, Stejný text, Komponenta, Malá drobnost


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

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

** Airlander 10 nabídne plavby vzduchem v interiéru s prosklenou podlahou ** Luxusní vzducholoď byla původně vyvíjena pro vojenské účely ** Počítá se s třídenními „kochacími“ výlety za poznáním

Karel Kilián | 7

Astronomové objevili daleko za Plutem objekt s extrémní dráhou. Může ukazovat na existenci planety Devět

Astronomové objevili daleko za Plutem objekt s extrémní dráhou. Může ukazovat na existenci planety Devět

** Astronomové objevili daleko za Neptunem těleso 2015 TG387 ** Okolo Slunce se pohybuje po extrémně protáhlé dráze ** Jeho dráha může ukazovat na existenci planety Devět

Petr Kubala | 10

Vylaďte si Wi-Fi: Podívejte se, jaká pásma máte doma volná a kam signál nedosáhne

Vylaďte si Wi-Fi: Podívejte se, jaká pásma máte doma volná a kam signál nedosáhne

** Prozkoumejte, jaké pásmo je pro vaši síť nejlepší ** Díky heat mapě snadno poznáte, kde to bude se signálem horší ** Vše zvládnete i z mobilního telefonu

Vladislav Kluska | 26

Google Cloud Next: Blíží se bitva o to, kdo ovládne cloud, tedy internet zítřka

Google Cloud Next: Blíží se bitva o to, kdo ovládne cloud, tedy internet zítřka

** Google v týdnu ukázal nové telefony Pixel ** V Londýně se ale také konal Google Cloud Next ** Konference o tom, jak bude vypadat internet v cloudu zítra

Jakub Čížek | 31

Loopwheels znovu vymyslelo kolo. Místo drátů má v ráfcích kompozitové pružiny, které vylepší komfort jízdy

Loopwheels znovu vymyslelo kolo. Místo drátů má v ráfcích kompozitové pružiny, které vylepší komfort jízdy

** Proč vymýšlet kolo? Protože ho lze vymyslet lépe! ** Kola Loopwheels nabízejí integrované odpružení ** Cílem je poskytnout pohodlnější a klidnější jízdu

Karel Kilián | 14


Aktuální číslo časopisu Computer

Jak vytvořit a spravovat vlastní web

Velký test herních klávesnic a DVB-T2 tunerů

Vše o formátu RAW

Vybíráme nejlepší základní desku