Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Moonlight 1.0: od instalace k první aplikaci

Nedávno vyšla finální verze Moonlight 1.0. Provedeme vás její instalací včetně balíčku kodeků pro přehrávání videa a ukážeme vám, jak si můžete vytvořit jednoduchou aplikaci, která poběží v Moonlightu 1.0 i Silverlightu 1.0.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Moonlight 1.0 je implementace technologie Silverlight 1.0 uvolněná pod licencí LGPL. Jako volitelnou součást Moonlight 1.0 si můžete doinstalovat Microsoft Media Pack pro přehrávání multimédií, které využívají licencované kodeky, jako je například kodek VC-1.

Identické kodeky obsahuje i Silverlight 1.0, takže je zaručeno bezproblémové přehrávání multimédií na všech platformách, které Silverlight 1.0, resp. Moonlight 1.0 podporují.

Instalace Moonlightu

  1. Ověřte, zda je Moonlight podporován na vašem systému. Pokud není, můžete se zapojit do vývoje.
  2. Na www.go-mono.com/moon­light/ si vyberte architekturu vašeho systému, klikněte na ikonu pro stažení a povolte stažení rozšíření.
    Instalace Moonlight
  3. Až se rozšíření nainstaluje, restartujte Firefox. Na stránce Moonlight byste nyní měli vidět informaci, že máte nainstalovaný nejnovější Moonlight.
    Potvrzení instalace Moonlight
  4. Následně si můžete volitelně nainstalovat audio a video kodeky. Otevřete stránku tv.hokej.cz (použít můžete i jakoukoliv jinou stránku, která streamuje video).
  5. Klikněte na Spustit ukázku, otevře se dialog instalace kodeků, klikněte na Install Codecs.
    Instalace kodeků
  6. Potvrďte licenci a až se kodeky stáhnou, mělo by video po obnovení stránky začít fungovat.
    Video hokeje

Ukázka vytvoření aplikace pro Moonlight 1.0, resp. Silverlight 1.0

Vývoji aplikací pro technologii Silverlight 2.0 zde bylo věnováno již několik článků, avšak verze 1.0 je často opomíjena, i když ve své době přinesla dvě zajímavé vlastnosti: celoobrazovkový režim a přehrávání streamovaného videa ve Full HD (kodek VC-1) a s tím zdarma dostupnou službu Silverlight Streaming. V jednoduché ukázce si vytvoříme vlastní video archiv, který bude využívat právě službu Silverlight Streaming.

Služba Silverlight Streaming

Tuto službu najdete na adrese silverlight.li­ve.com, kde si můžete zdarma vytvořit účet. Budete mít k dispozici 10 GB místa pro vaše videa. Omezení základního účtu jsou následující:

  • Délka videa maximálně 10 minut
  • Velikost videa maximálně 105 MB
  • Maximální bit rate 1,4 Mbps
  • Maximální objem přenesených dat za měsíc 5 TB

Po přihlášení se na Silverlight Streaming můžete v sekci Manage Videos přidat video, které chcete streamovat. Pokud na server nahrajete video ve formátu, kterému Silverlight nerozumí, server video překóduje. Práci s aplikacemi na Silverlight Streaming se zde nebudeme věnovat.

Na stránce s detailní informací o videu najdete HTML kód pro vložení videa do stránky a URL video streamu.

HTML kód pro vložení videa

Zatím není možné k videu zřídit přístupová práva – všechna videa jsou veřejná. Kromě administrace videí pomocí webového administračního rozhraní můžete využít i Silverlight Streaming API, které je postaveno na protokolu WebDAV. K webovému rozhraní se budete přihlašovat pomocí Live ID, ale Silverlight Streaming API využívá k přihlašování Accout ID a Account Key, které najdete v sekci Manage Account.

Vytvoření klíče

Získání seznamu videí a jejich URL může v PHP vypadat následovně:

<?php
// zde vlozte vase AccountId a AccountKey z uctu na silverlight.live.com
$accountId = '';
$accountKey = '';
 
$baseUrl = "https://silverlight.services.live.com/$accountId/";
 
require_once "HTTP/Request.php";
$req = new HTTP_Request($baseUrl);
$req->setBasicAuth($accountId, $accountKey);
 
$req->sendRequest();
if($req->getResponseCode() == 200)
{
  $baseUrl = str_replace('https:', 'http:', $baseUrl);
  $fileSetXml = new SimpleXMLElement($req->getResponseBody());
 
  foreach ($fileSetXml->xpath('fileSet') as $fileSet)
  {
      // jmeno videa
      $fileSetName = $fileSet['name'];
  $videoUrl = $baseUrl . str_replace('+', '%20', urlencode($fileSetName)) . '/video.wmv';
echo "<a href='\"$videoUrl\"'>$fileSetName</a><br />";
  }
}
?> 

Videa jsou připravena na streamovacím serveru Silverlight Streaming a nyní se podívejme na základní principy aplikací pro Moonlight 1.0, resp. Silverlight 1.0. Hotovou aplikaci najdete ke stažení na konci článku.

Stručný úvod do vývoje aplikací pro Moonlight 1.0

Vývoj aplikací pro Moonlight 1.0 je v podstatě podobný s vývojem javascriptových aplikací, s tím rozdílem, že uživatelské rozhraní není popsáno pomocí HTML, ale pomocí jazyka XAML.

XAML je deklarativní jazyk založený na XML pro popis uživatelského rozhraní, který byl vytvořen pro potřeby Windows Presentation Foundation a byl uveden společně s .NET Frameworkem 3.0. Kromě popisu uživatelského rozhraní slouží i k popisu vektorové grafiky, animací, událostí a datových vazeb. Jako vývojový nástroj můžete tedy použít libovolný textový editor, který například používáte pro tvorbu webových stránek. Pro ladění aplikace pak můžete použít Firebug, neboť veškerá aplikační logika je vytvořena pomocí JavaScriptu.

Vazba XAML na JavaScript a zpět

Zeleně podtržený text je název javascriptové funkce, která se spustí při stisku levého tlačítka myši v ploše, kterou ohraničuje Canvas, a žlutý text je název objektu popsaného v XAML. Parametr sender je vaše aplikace, kde se k jednotlivým objektům dostanete pomocí metody findName. Objekty se pojmenovávají pomocí atributu  x:Name.

Ukázka kódu v XAML
Kód pro spuštení videa

Vložení aplikace do stránky

Aplikaci vložíte do stránky způsobem, který je popsán v článku Silverlight 2: vytváříme ukázkovou aplikaci. Jediný rozdíl je, že ve vlastnosti version uvedete 1.0 a parametr source se odkazuje přímo na výchozí XAML „stránku“. Vlastnosti width a height doporučuji nastavit na absolutní hodnotu, ne na procentuální, jinak bude mít Moonlight 1.0 problém aplikaci zobrazit.

Silverlight.createObjectEx({
  source: "Page.xaml",
  parentElement: document.getElementById("videoPlayer"),
  id: "SilverlightControl",
  properties: {
    width: "620",
    height: "550",
    version: "1.0"
}}); 

Kód ke stažení

Zdrojový kód celého příkladu si můžete stáhnout: Demo MoonlightVide­oServer (ZIP 5860 bytů)

Závěr

Jak vidíte, k vytvoření aplikace pro Moonlight 1.0, resp. Silverlight 1.0, vám stačí pouze textový editor a video si můžete nechat zdarma streamovat službou Silverlight Streaming. Finální verze Moonlightu 2.0 je plánována na září 2009.


Autorem článku je Štěpán Bechynský, specialista pro vývojové nástroje ve společnosti Microsoft v České republice. Informace pro vývojáře také najdete na blogu odborníků z českého Microsoftu.

Anketa

Používáte Moonlight?

       

Štěpán Bechynský

Specialista pro vývojové nástroje ve společnosti Microsoft v České republice.

Kurzy UX (user experience) - Praha, Brno, Bratislava

DW - Školení použitelnosti
  • Použitelný web mají návštěvníci rádi a lépe vrací investované peníze.
  • Poradíme vám, které metody využít a co vám to přinese.
  • Naučíte se, jak rychle a levně otestovat web.
  • Pro účastníky školení možnost zdarma vyzkoušet nástroje na zlepšování a testování webu (např. Usabilla, Loop11, OpenHallway a další)

Podívejte se na detaily školení Nástroje a metody UX, workshopu uživatelského testování použitelnosti a workshopu Návrh webu a mobilních aplikací.

Akce: Využijte last minute slevu na školení v Brně a Bratislavě!

Přehled názorů

Pěkně děkuji...
pravdokop 23. 2. 2009 02:07
Nový
├ 
Re: Pěkně děkuji...
mm 23. 2. 2009 07:47
Nový
│
└ 
Re: Pěkně děkuji...
mirozbiro 23. 2. 2009 07:58
Nový
├ 
Re: Pěkně děkuji...
Jiří Knesl 23. 2. 2009 09:04
Nový
│
├ 
Re: Pěkně děkuji...
Cartman 23. 2. 2009 15:30
Nový
│
│
├ 
Re: Pěkně děkuji...
anonymní uživatel 23. 2. 2009 21:08
Nový
│
│
└ 
Re: Pěkně děkuji...
Jiří Knesl 23. 2. 2009 21:49
Nový
│
└ 
Re: Pěkně děkuji...
mirozbiro 23. 2. 2009 16:13
Nový
│
 
├ 
Re: Pěkně děkuji...
Jiří Knesl 23. 2. 2009 22:02
Nový
│
 
└ 
Re: Pěkně děkuji...
Aleš Roubíček 26. 2. 2009 07:04
Nový
│
 
 
└ 
Re: Pěkně děkuji...
pravdokop 27. 2. 2009 00:55
Nový
│
 
 
 
└ 
Re: Pěkně děkuji...
Aleš Roubíček 1. 3. 2009 11:47
Nový
└ 
Re: Pěkně děkuji...
Standa 23. 2. 2009 09:10
Nový
FF3 a Moonlight pada
Luboš Kopecký 23. 2. 2009 06:34
Nový
└ 
Re: FF3 a Moonlight pada
Michal Smrž 23. 2. 2009 08:06
Nový
 
└ 
Re: FF3 a Moonlight pada
lubos kopecky 23. 2. 2009 12:41
Nový
Pekny clanok
Dano 23. 2. 2009 06:57
Nový
snad jsem to pochopil špatně?
VfB 23. 2. 2009 13:05
Nový
├ 
Re: snad jsem to pochopil špatně?
Aleš Roubíček 23. 2. 2009 13:50
Nový
│
└ 
Re: snad jsem to pochopil špatně?
VfB 24. 2. 2009 07:17
Nový
└ 
Re: snad jsem to pochopil špatně?
Petr Ocásek 24. 2. 2009 21:10
Nový
WMV/WMA + MP3
grunt 23. 2. 2009 14:08
Nový
├ 
Re: WMV/WMA + MP3
Sten 25. 2. 2009 16:32
Nový
└ 
Re: WMV/WMA + MP3
Aleš Roubíček 26. 2. 2009 07:08
Nový
Proč zas*rat Linux? To půjde takhle do p*c* vsechno...
Harvie 6. 3. 2009 20:48
Nový
└ 
Re: Proč zas*rat Linux? To půjde takhle do p*c* vsechno...
Jan Jelínek 9. 3. 2009 07:08
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem