Neternity Flash Media Player
Uživatelská příručka - verze 1.7
Webové stránky přehrávače | Demo | Download (zdarma)
Obsah
- Instalace přehrávače
- Konfigurace pomocí parametrů
- Základní konfigurace (config.xml)
- Konfigurace vzhledu (skin.xml)
- Seznam souborů k přehrání (playlist.xml)
- Konfigurace reklamních bloků (adverts.xml)
Instalace přehrávače
Nejjednodušší a doporučovaný postup pro inicializacu přehrávače je pomocí JavaScriptové knihovny swfobject. Podrobnější informace o inicializaci Flash klipů pomocí swfobject najdete zde.
<html>
<head>
<script type="text/javascript" src="swfobject/swfobject.js"></script>
</head>
<body>
<div id="playerContainer">
Pro přehrávání video souborů potřebujete mít
zapnutý JavaScript a nainstalovaný Flash Player.
</div>
<script type="text/javascript">
var params = {
quality: 'high',
allowScriptAccess: 'always',
allowFullScreen: 'true'
};
var flashvars = {};
var attributes = {};
swfobject.embedSWF("VideoPlayer.swf", "playerContainer", "560", "350",
"9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
</body>
</html>
Konfigurace pomocí parametrů
Při inicializaci přehrávače je možné Flash klipu předat specifické parametry. Tyto parametry se zadávají jako flashVars. Jako parametry je možno specifikovat:
URL konfiguračních souborů
| Parametr | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| config | URL | Určuje URL k základnímu konfiguračnímu souboru. | config.xml |
| skin | URL | Určuje URL ke konfiguračnímu souboru, který definuje vzhled (skin) přehrávače. | skin.xml |
| playlist | URL | Určuje URL k seznamu souborů k přehrání. | playlist.xml |
| adverts | URL | Určuje URL k souboru, který definuje nastavení reklamních bloků a bannerů. | adverts.xml |
Všechna URL musí být zadány absolutně nebo relativně k souboru VideoPlayer.swf.
Soubory playlistu
| Parametr | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| filename{N} | URL | URL souboru k přehrání. | nic |
| altfilename{N} | URL | Náhradní soubor, který se spustí, pokud se nepodaří načíst filename{N}. | nic |
| streamLow{N} | URL | URL souboru k přehrání pro nízkou kvalitu (parametr filename pak nemá význam). | nic |
| streamMedium{N} | URL | URL souboru k přehrání pro střední kvalitu (parametr filename pak nemá význam). | nic |
| streamHigh{N} | URL | URL souboru k přehrání pro vysokou kvalitu (parametr filename pak nemá význam). | nic |
| altstreamLow{N} | URL | Náhradní soubor, který se spustí, pokud se nepodaří načíst altstreamLow{N}. | nic |
| altstreamMedium{N} | URL | Náhradní soubor, který se spustí, pokud se nepodaří načíst altstreamMedium{N}. | nic |
| altstreamHigh{N} | URL | Náhradní soubor, který se spustí, pokud se nepodaří načíst altstreamHigh{N}. | nic |
| defaultStream{N} | low|medium|high | Implicitní stream, který se přehraje. | medium |
| next{N} | nic | false | Pokud je zadáno false, nepůjde daný soubor přeskočit. | nic |
| width{N} | celé číslo [px] | Šířka přehrávaného souboru (jen pro video soubory). | nic |
| height{N} | celé číslo [px] | Výška přehrávaného souboru (jen pro video soubory). | nic |
| imagefile{N} | URL | Obrázek, který se zobrazí místo video souboru, pokud je video zastaveno. | nic |
| url{N} | URL | Odkaz, který je spuštěn, klikne-li uživatel na plochu přehrávaného souboru. | nic |
Hodnota proměnné {N} je celé číslo začínající od jedničky a označuje pozici souboru v rámci playlistu.
Ostatní parametry
| Parametr | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| allow | Seznam domén oddělený čárkami. | Pokud má přehrávač přistupovat k doménám mimo aktuální security sandbox, je potřeba tyto domény specifikovat. | nic |
| playbackReportURL | URL | Pokud je zadáno URL, přehrávač při každém spuštění přehrávání souboru toto URL zavolá s těmito proměnnými:
|
nic |
Příklad konfiguračních parametrů
var flashvars = {
config: 'http://www.neternity.cz/videoplayer/config.xml',
skin: 'http://www.neternity.cz/videoplayer/skin.xml',
playlist: 'http://www.neternity.cz/videoplayer/playlist.xml',
adverts: 'http://www.neternity.cz/videoplayer/adverts.xml',
filename1: 'http://www.neternity.cz/videoplayer/files/videofile.flv',
imagefile1: 'http://www.neternity.cz/videoplayer/files/title_image.jpg',
url1: 'http://www.adservice.com/?uid=71572',
filename2: 'http://www.neternity.cz/videoplayer/files/soundfile.mp3',
imagefile2: 'http://www.neternity.cz/videoplayer/files/sound_image.jpg',
url2: 'http://www.adservice.com/?uid=81572'
};
Základní konfigurace (config.xml)
Základní konfigurační soubor je načítán jako první. Implicitně se jedná o soubor config.xml. Pomocí flashVars parametrů lze však explicitně nastavit jinou cestu k souboru. Flash přehrávač za název souboru doplňuje řetězec ?cache=N, kde N je náhodné číslo. To zajistí, že případná změna obsahu XML souboru se projeví ihned i bez nutnosti smazání cache prohlížeče (z hlediska cache se každý požadavek bude jevit jako jiný soubor), proto by hodnota parametru config neměla obsahovat žádný query string.
Soubor obsahuje tři sekce:
- Pro verzi 1.5 a nižší se uvádí seznam licenčních klíčů pro jednotlivé domény - je potřeba nastavit, pokud má přehrávač běžet v plném režimu s platnou licencí. Pro doménu třetího řádu je možné použít hvězdičku, což zajistí funkčnost licence na všech pod-doménách (viz příklad).
- Od verze 1.6 se uvádí pouze klíč. Jednotlivé informace o platnosti licence jsou v něm zakódovány. Od této verze jsou rozlišovánn tři typy lincí: FREE, STANDARD a PROFI. Rozdělení funkcí dle typů licence je uvedeno v tabulce níže.
- Seznam povolených domén - je potřeba nastavit, pokud má přehrávač přistupovat k souborům mimo aktuální doménu (tzv. security sandbox).
- Seznam událostí přehrávače, jejichž vyvolání je navázáno na operaci mimo přehrávač - je potřeba nastavit, pokud má přehrávač propagovat události mimo přehrávač (voláním funkcí JavaScriptu). Aktuálně (verze 1.6) je podporována jen událost
playlistFinished, která je vyvolána po skončení přehrávání všech souborů v playlistu. Způsob definice je uveden v příkladu.
Rozdělení funkcí přehrávače dle licence
| Funkce | FREE | STANDARD | PROFI | STANDARD AD | PROFI AD |
|---|---|---|---|---|---|
| Uživatelsky definované skiny | X | X | X | X | X |
| Přehrávání audio (s vizualizací), video | X | X | X | X | X |
| Zobrazení obrázku | X | X | X | X | X |
| Možnost změnit vzhled stavové lišty nebo ji skrýt | X | X | X | X | |
| Volání externí javascript funkce po přehrání posledního souboru | X | X | X | X | |
| Playlist (více než 1 soubor) | X | X | |||
| Protokol RTMP/RTMPT | X | X | |||
| Titulky | X | X | |||
| Fotogalerie (slideshow) s přechodovými efekty | X | X | |||
| Zobrazení videoreklamy | X | X | |||
| Zobrazování overlay reklamy | X | X | |||
| Řízení reklamy vzdáleným serverem | X | ||||
| Možnost definovat znělku uvozující videoreklamu | X |
Příklad základní konfigurace pro verze přehrávače 1.5 a nižší
<config>
<licence host="localhost" key="A8C-49878-154"/>
<licence host="neternity.cz" key="FFA-63135-789"/>
<licence host="*.myserver.com" key="587-A7789-278"/>
<allow>
<host>localhost</host>
<host>neternity.cz</host>
</allow>
</config>
Příklad základní konfigurace pro verze přehrávače 1.6 a vyšší
<config>
<licence>3938d24af25c2855b4ca7e56eae01dba0f665d24473106e8db48e07811e</licence>
<allow>
<host>localhost</host>
<host>neternity.cz</host>
</allow>
<events>
<event name="playlistFinished" type="js" function="postHandler" />
</events>
</config>
Konfigurace vzhledu (skin.xml)
Základní konfigurační soubor pro vzhled je načítán ihned po ověření licence. Implicitně se jedná o soubor skin.xml. Pomocí flashVars parametrů lze však explicitně nastavit jinou cestu k souboru.
Atributy kořenového elementu
Kořenový element <skin> obsahuje atributy, které určují základní vzhled přehrávače (např. barvu pozadí).
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| baseurl | URL | Absolutní cesta ke všem souborům, které jsou použity v rámci skinu. Pokud není zadáno, předpokládá se, že jsou URL souborů zadávány relativně k aktuálnímu umístění souboru VideoPlayer.swf nebo absolutně (včetně uvedení protokolu http://). | nic |
| height | Celé číslo [px] | Výška ovládacího panelu v pixelech. | ? |
| width | Celé číslo [px nebo %] | Šířka ovládacího panelu v pixelech (absolutně) nebo procentech celkové šířky přehrávače (relativně). Bez jednotek je hodnota považována za absolutní. S uvedením procent je hodnota považována za relativní. | 100% |
| panelBottom | Celé číslo [px] | Vertikální posunutí ovládací lišty od spodní hrany okna přehrávače. Pokud je větší než nula, zobrazuje se lišta přes přehrávaný soubor a je tedy vhodné nastavit hidetime. | 0 |
| hidetime | Celé číslo [ms] | Pokud je nastaveno na hodnotu větší než 0, bude se ovládací panel automaticky schovávat. Hodnota udává časovou prodlevu v milisekundách, za kterou se ovládací panel skyje. | 0 |
| windowBackground | hex. číslo barvy | Barva pozadí přehrávače. | #000000 |
| windowBackgroundImage | URL | Obrázek pozadí přehrávače. Je roztažen na celou velikost přehrávače. Projeví se zejména, když je přehrávaný soubor menší než velikost přehrávacího okna. | nic |
| windowBackgroundImageFullScreen | URL | Obrázek na pozadí přehrávače při roztažení na celou obrazovku. | nic |
| panelImage | URL | Obrázek na pozadí ovládacího panelu. | nic |
| waveColor | hex. číslo barvy | Barva vizualizace při přehrávání audio souborů. | #FFFFFF |
Atributy ovládacích prvků
Uvnitř kořenového elementu <skin> se dále nacházejí elementy jednotlivých ovládacích prvků. Každý prvek má specifické atributy, které ovlivňují jeho vzhled a chování.
| Element | Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|---|
| <first> | Tlačítko pro přechod na první soubor v playlistu. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <previous> | Tlačítko pro přechod na předchozí soubor v playlistu. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <next> | Tlačítko pro přechod na další soubor v playlistu. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <last> | Tlačítko pro přechod na poslední soubor v playlistu. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <play> | Tlačítko pro spuštění nebo pozastavení aktuálního souboru. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek, pokud je aktuální soubor pozastaven. | není | |
| pauseskin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek pokud je soubor právě přehráván. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <stop> | Tlačítko pro zastavení aktuálního souboru a přechod na jeho začátek. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <fullscreen> | Tlačítko pro přechod do režimu přehrávání přes celou obrazovku. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <mute> | Tlačítko pro okamžité ztišení zvuku. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <volume> | Horizontální jezdec pro ovládání hlasitosti. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <vertical> | Vertikální jezdec pro ovládání hlasitosti. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <slider> | Ukazatel aktuální pozice v přehrávaném souboru jako indikátor průběhu (progress bar) s jezdcem a možností změny. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| paddingTop | celé číslo [px] | Možnost nastavit horní odsazení ukazale pozice. | není | |
| paddingLeft | celé číslo [px] | Možnost nastavit levé odsazení ukazale pozice. | není | |
| paddingRight | celé číslo [px] | Možnost nastavit pravé odsazení ukazale pozice. | není | |
| paddingBottom | celé číslo [px] | Možnost nastavit spodní odsazení ukazale pozice. | není | |
| pointer | URL | Obrázek, který se použije jako posuvník (šoupátko). | není | |
| px | celé číslo [px] | Relativní horizontální pozice posuvníku vzhledem k poloze elementu slider. | není | |
| py | celé číslo [px] | Relativní vertikální pozice pointeru vzhledem k poloze elementu slider. | není | |
| backgroundColor | hex. číslo barvy | Barva pozadí celého prvku. | není | |
| elapsedColor | hex. číslo barvy | Barva ukazatele uplynulého času. | není | |
| bufferColor | hex. číslo barvy | Barva ukazatele před-načtené části souboru. | není | |
| borderColor | hex. číslo barvy | Barva rámečku okolo celého prvku. | není | |
| borderThickness | Celé číslo [px] | Tloušťka rámečku okolo celého prvku | 0 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <time> | Ukazatel aktuální pozice v přehrávaném souboru jako text ve formátu MM:SS. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| fontSize | celé číslo [px] | Velikost písma použitého v prvku. | 10 | |
| color | hex. číslo barvy | Barva písma použitého v prvku. | #FFFFFF | |
| display | elapsed | remaining | Způsob zobrazení ubíhajícího času. Jsou k dispozici dva módy:
|
elapsed | |
| clickable | true | false | Kliknutím na časový údaj je možné přepnout zobrazovanou hodnotu z módu elapsed do módu remaining a naopak. Pomocí tohoto atributu je možné takové chování zakázat (např. pokud je časový údaj umístěn přes element slider). |
true | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <total> | Ukazatel délky přehrávaného souboru jako text ve formátu MM:SS. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| fontSize | celé číslo [px] | Velikost písma použitého v prvku. | 10 | |
| color | hex. číslo barvy | Barva písma použitého v prvku. | #FFFFFF | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <number> | Ukazatel celkového počtu a aktuální pozice přehrávaného souboru v rámci playlistu ve formátu M/N. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| fontSize | celé číslo [px] | Velikost písma použitého v prvku. | 10 | |
| color | hex. číslo barvy | Barva písma použitého v prvku. | #FFFFFF | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <loading> | Animace nebo obrázek dávající uživateli najevo, že právě probíhá načítání dat. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k pravé hraně přehrávače. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k dolní hraně přehrávače. | 0 | |
| skin | URL | Obrázek, který se použije jako skin pro daný prvek. | není | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost obrázku (alpha channel). | 1 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <playicon> | Tlačítko pro spuštění nebo pozastavení aktuálního souboru, které se zobrazí přes video do prostřed. | |||
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek, pokud je aktuální soubor pozastaven. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <adclose> | Tlačítko pro zavírání overlay reklamy. | |||
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek, pokud je aktuální soubor pozastaven. | není | |
| position | inside | outside | hide | Definice umístění tlačítka mimo banner (outside) nebo uvnitř baneru (inside). Pokud je banner vertikálně zarovnán s horní hranou přehrávače a tlačítko má být mimo přehrávač, zobrazí se tlačítko pod bannerem. Jinak se zobrazuje nad bannerem. Tlačítko je možné skrýt úplně, pokud element není uveden nebo je zadán atribut "hide". | inside | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <logo> | Logo (vodoznak), které je trvale umístěno přes video. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k pravé hraně přehrávače. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k dolní hraně přehrávače. | 0 | |
| skin | URL | Obrázek, který se použije jako skin pro daný prvek. | není | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost obrázku (alpha channel). | 1 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <status> | Stavový řádek v dolní části přehrávače. Jeho nastavení lze měnit jen u placené verze. Řádek se vždy zobrazuje u spodní hrany přehrávače. | |||
| height | celé číslo [px] | Výška řádku v pixelech. | 17 | |
| color | hex. číslo barvy | Barva písma. | #000000 | |
| backgroundColor | hex. číslo barvy | Barva pozadí řádku. | #FFFFFF | |
| backgroundImage | URL | Obrázek na pozadí | nic | |
| fontSize | celé číslo [px] | Velikost písma. | 10 | |
| producerAd | true | false | Zobrazovat odkaz na výrobce přehrávače (ano/ne). | true | |
| toolTips | true | false | Zobrazovat kontextovou nápovědu (ano/ne). | true | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <seek> | Zobrazí se při najetí kurzoru myši nad ukazatel polohy. Zobrazí časovou pozici, na kterou bude soubor "přetočen" (seek), pokud uživatel v daném místě stiskne levé tlačítko myši. | |||
| skin | URL | URL obrázku, který bude použit jako pozadí plovoucího toolTipu. Rozměry obrázku není třeba zadávat. | ||
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost pozadí obrázku (alpha channel). | 1 | |
| skinX | celé číslo [px] | Horizontální posunutí pozadí vhledem k textu. Záporná hodnota posune pozadí doleva, kladná hodnota posune pozadí doprava. Text je implicitně zobrazen na střed pozadí. | 0 | |
| skinY | celé číslo [px] | Vertikální posunutí pozadí vhledem k textu. Záporná hodnota posune pozadí nahoru, kladná hodnota posune pozadí dolů. Text je implicitně zobrazen na střed pozadí. | 0 | |
| color | hex. číslo barvy | Barva textu. | #FFFFFF | |
| fontSize | celé číslo [px] | Velikost textu v pixelech. | 10 | |
| fontWeight | normal | bold | Možnost zobrazit text tučně. | normal | |
| fontStyle | normal | italic | Možnost zobrazit text kurzívou. | normal | |
| x | celé číslo [px] | Horizontální posunutí textu vhledem ke kurzoru myši. Záporná hodnota posune text doleva, kladná hodnota posune text doprava. | 0 | |
| y | celé číslo [px] | Vertikální pozice textu vzhledem k horní hraně position slideru. Implicitně se text zobrazí 15px nad position sliderem. | -15 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <image> | Vlastní obrázek nebo Flash soubor, který se umístí do ovládacího panelu. Tento prvek může být zadán vícekrát. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci ovládacího panelu v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k pravé hraně panelu. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci ovládacího panelu v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k dolní hraně panelu. | 0 | |
| skin | URL | Obrázek, který se použije jako skin pro daný prvek. | není | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost obrázku (alpha channel). | 1 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <subtitles> | Definice vzhledu filmových titulků. | |||
| fontFamily | font | Název použitého písma (např. Arial, Times, apod.) | Verdana | |
| fontSize | velikost [px] | Velikost písma pro filmové titulky. Velikost je aplikována pro normální zobrazení. Při zvětšení na celou obrazovku je velikost písma zvětšena ve stejném poměru, v jakém byla zvětšena plocha obrazovky. | 18 | |
| fontWeight | normal | bold | Atribut umožnuje nastavit normální písmo (implicitně je totiž použito tučné písmo). | bold | |
| verticalAlign | top | middle | bottom | Vertikální umístění titulků. | bottom | |
| horizontalAlign | left | center | right | Horizontální umístění titulků. | není | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <filename> | Titulek zobrazující název přehrávaného souboru. | |||
| fontFamily | font | Název použitého písma (např. Arial, Times, apod.) | Verdana | |
| fontSize | velikost [px] | Velikost písma pro filmové titulky. Velikost je aplikována pro normální zobrazení. Při zvětšení na celou obrazovku je velikost písma zvětšena ve stejném poměru, v jakém byla zvětšena plocha obrazovky. | 18 | |
| fontWeight | normal | bold | Atribut umožnuje nastavit normální písmo (implicitně je totiž použito tučné písmo). | bold | |
| fontStyle | normal | italic | Možnost zobrazit text kurzívou. | normal | |
| x | celé číslo [px] | Horizontální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k pravé hraně přehrávače. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k dolní hraně přehrávače. | 0 | |
| color | hex. číslo barvy | Barva textu. | #FFFFFF | |
| backgroundColor | hex. číslo barvy | Barva pozadí celého prvku. | není | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost pozadí (alpha channel). | 1 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <adinfo> | Titulek indikující přehrávaný reklamní blok včetně zbývajícícho času do konce bloku. | |||
| text | text | Zobrazovaný text (měl by obsahovat proměnnou %n, za kterou je dosazen počet vteřin zbývajících do konce bloku) | není | |
| skipText | text | Text, který se zobrazí jakmile je reklamu možno přeskočit. | není | |
| skipDuration | vteřiny | Časový interval, po jehož uplynutí je možné reklamu přeskočit. Pokud hodnota není zadána žádna hodnota, reklamu přeskočit nelze (resp. možnost přeskočení určuje AdServer). | není | |
| fontFamily | font | Název použitého písma (např. Arial, Times, apod.) | Verdana | |
| fontSize | velikost [px] | Velikost písma pro filmové titulky. Velikost je aplikována pro normální zobrazení. Při zvětšení na celou obrazovku je velikost písma zvětšena ve stejném poměru, v jakém byla zvětšena plocha obrazovky. | 18 | |
| fontWeight | normal | bold | Atribut umožnuje nastavit normální písmo (implicitně je totiž použito tučné písmo). | bold | |
| fontStyle | normal | italic | Možnost zobrazit text kurzívou. | normal | |
| x | celé číslo [px] | Horizontální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k pravé hraně přehrávače. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci přehrávače v pixelech. Pokud je zadáno záporné číslo, je pozice vztažena k dolní hraně přehrávače. | 0 | |
| color | hex. číslo barvy | Barva textu. | #FFFFFF | |
| backgroundColor | hex. číslo barvy | Barva pozadí celého prvku. | není | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost pozadí (alpha channel). | 1 | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <related> | Titulek indikují přehrávaný reklamní blok včetně zbývajícího času do konce bloku. | |||
| maxItems | celé číslo | Počet naráz zobrazených souvisejících souborů. Pokud je k dispozici více souborů, zobrazí se ovládací prvky pro stránkování. | 4 | |
| direction | horizontal | vertical | Způsob zobrazení položek (pod sebou nebo vedle sebe). | vertical | |
| next | URL | Obrázek, který se použije pro ovládací prvek sloužící k přechodu na další stránku se souvisejícími soubory. Jedná se o třístavové tlačítko (normal, disabled, over). | ||
| previous | URL | Obrázek, který se použije pro ovládací prvek sloužící k přechodu na předchozí stránku se souvisejícími soubory. Jedná se o třístavové tlačítko (normal, disabled, over). | ||
| buttonWidth | celé číslo [px] | Šířka tlačítek next a previous. | ||
| buttonHeight | celé číslo [px] | Výška tlačítek next a previous. | ||
| itemWidth | celé číslo [px] | Šířka pole se souvisejícím souborem. Pole obsahuje náhled (obrázek) a textový popis. | 200 | |
| itemHeight | celé číslo [px] | Výška pole se souvisejícím souborem. Pole obsahuje náhled (obrázek) a textový popis. | 30 | |
| itemTextColor | hex. číslo barvy | Barva textu v rámci položky. | #FFFFFF | |
| itemBackgroundColor | hex. číslo barvy | Barva pozadí položky. | #A0A0A0 | |
| itemBorderColor | hex. číslo barvy | Barva rámečku kolem položky. | #FFFFFF | |
| itemAlpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost pozadí a rámčku položky (alpha channel). | 0.9 | |
| backgroundColor | hex. číslo barvy | Barva pozadí celého prvku. | #000000 | |
| alpha | Desetinné číslo v rozsahu 0 až 1. | Průhlednost pozadí celé vrstvy (alpha channel). | 0.9 | |
| fontFamily | font | Název použitého písma (např. Arial, Times, apod.) | Verdana | |
| fontSize | velikost [px] | Velikost použitého písma. | 18 | |
| fontWeight | normal | bold | Atribut umožnuje nastavit tučné písmo. | normal | |
| fontStyle | normal | italic | Možnost zobrazit text kurzívou. | normal | |
| Element | Atribut | Formát | Význam | Implicitní hodnota |
| <quality> | Přepínač pro výběr kvality přehrávaného souboru. | |||
| x | celé číslo [px] | Horizontální pozice prvku v rámci panelu v pixelech. | 0 | |
| y | celé číslo [px] | Vertikální pozice prvku v rámci panelu v pixelech. | 0 | |
| width | celé číslo [px] | Šířka prvku v pixelech. | 0 | |
| height | celé číslo [px] | Výška prvku v pixelech. | 0 | |
| label | text | Možnost nadefinovat nápovědu, která se zobrazí po najetí na tlačítko. | není | |
| skin | URL | Obrázek, který se použije jako skin pro daný ovládací prvek. | není |
Příklad konfigurace vzhledu
<skin baseurl="http://www.neternity.cz/videoplayer/skin/" hidetime="3000"
windowBackground="#404040" height="18" panelImage="images/panel-gradient.gif">
<previous x="0" y="0" label="" skin="button-previous.gif" width="19" height="18" />
<play x="18" y="0" label="Přehrát soubor" pauselabel="" skin="button-play.gif"
pauseskin="button-pause.gif" width="19" height="18" />
<stop x="36" y="0" label="Zastavit přehrávání" skin="button-stop.gif" width="19" height="18" />
<next x="54" y="0" label="" skin="button-next.gif" width="19" height="18" />
<time x="85" y="1" label="" width="40" height="22" fontSize="10" color="#FFFFFF" />
<total x="240" y="1" label="" width="40" height="20" fontSize="10" color="#CCEECC"/>
<number x="150" y="1" label="" width="40" height="20" fontSize="10" color="#CCEECC"/>
<slider x="80" y="4" label="" width="200" height="11" paddingTop="0" paddingLeft="0"
paddingRight="0" paddingBottom="0" pointer="slider-pointer.png" px="-6" py="-13"/>
<mute x="310" y="0" label="" skin="button-mute.gif" width="19" height="18"/>
<fullscreen x="290" y="0" label="" skin="button-fullscreen.gif" width="19" height="18"/>
<volume x="330" y="0" label="" skin="button-volume.gif" width="32" height="18" />
<loading skin="loading-animation.gif" x="10" y="10" />
<logo skin="logo.png" x="-20" y="20" alpha="0.8" />
<adclose skin="button-adclose.gif" width="19" height="19" />
<vertical skin="slider-volume-vertical.gif" width="18" height="32" x="0" y="-32"/>
<playicon skin="button-play-big.png" width="50" height="50" label="Přehrát soubor" />
<status background="#303030" color="#FFFFFF" toolTips="true" fontsize="12" height="20"/>
</skin>
Jak vytvářet grafické podklady pro skin
Při vytváření grafických předloh pro jednotlivé ovládací prvky je potřeba dodržovat určitá pravidla. Jednotlivé prvky mohou mít více stavů, ve kterých se mohou nacházet, a každý z těchto stavů je možné vyjádřit jinou grafickou předlohou. Předlohy pro všechny stavy daného prvku se vkládají do jednoho společného souboru. Předpokládá se, že pro jeden prvek mají všechny předlohy stejné rozměry a v obrázku jsou umístěny vertikálně pod sebou. Při specifikaci rozměrů prvku v XML pak uváděné rozměry označují rozměry předlohy jednoho z těchto stavů (nikoliv velikost samotného obrázku se všemi předlohami stavů). V následující tabulce jsou uvedeny ovládací prvky, které očekávají grafické předlohy s více stavy.
| Prvky | Stavy |
|---|---|
| first, previous, next, last, play, pause, stop, playicon | normal, disabled, mouse over
jednotlivé předlohy musí být v obrázku pod sebou - od shora dolů |
| fullscreen, mute | on, off, on + mouse over, off + mouse over
jednotlivé předlohy musí být v obrázku pod sebou - od shora dolů |
| quality | low, low mouse over, medium, medium mouse over, high, high mouse over
jednotlivé předlohy musí být v obrázku pod sebou - od shora dolů |
| volume slider | jedenáct stavů od plné hlasiosti po ticho (100%, 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 10%, 0%), jednotlivé předlohy musí být v obrázku pod sebou - od shora dolů |
| vertical volume slider | jedenáct stavů od plné hlasiosti po ticho (100%, 90%, 80%, 70%, 60%, 50%, 40%, 30%, 20%, 10%, 0%), jednotlivé předlohy musí být v obrázku vedle sebe - zleva doprava |
Seznam souborů k přehrání (playlist.xml)
Základní konfigurační soubor pro vzhled je načítán ihned po ověření licence. Implicitně se jedná o soubor playlist.xml. Pomocí flashVars parametrů lze však explicitně nastavit jinou cestu k souboru.
Atributy kořenového elementu
Kořenový element <playlist> obsahuje atributy, které určují chování přehrávače při přehrávání jednotlivých souborů.
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| baseurl | URL | Absolutní cesta ke všem souborům definovaným v playlistu. Pokud není zadáno, předpokládá se, že jsou URL souborů zadávány relativně k aktuálnímu umístění souboru VideoPlayer.swf nebo absolutně (včetně uvedení protokolu http://). | nic |
| autoplay | true | false | Parametr určující, zda má začít přehrávání souborů okamžitě po načtení přehrávače nebo až na základě uživatelovy interakce. | false |
| autoload | true | false | Parametr určující, zda se má soubor načítat (do bufferu), i když není video spuštěno. To umožňuje zobrazit první frame videa před samotným spuštěním videa. Nevýhodou je, že video je načteno i v případě, že si jej uživatel vůbec nepřehraje. | false |
| repeat | true | false | Parametr určující, zda se má po přehrání všech souborů v playlistu začít přehrávat zase od začátku. Pokud je nastaveno na true, nezobrazí se seznam souvisejících souborů. | false |
| pauseable | true | false | Parametr určující, zda-li bude možné přehrávání souboru pozastavit pouhým kliknutím na plochu vykresleného souboru (obrázku / videa). Nemá význam u souborů, které mají definováno URL. U nich vždy dojde k pozastavení a následně se otevře URL do nového okna. | false |
| volume | Celé číslo v rozsahu od 0 do 100. | Počáteční nastavení hlasitosti. | 75 |
| buffer | Desetinné číslo [s] | Určuje kolik vteřin přehrávaného souboru (video nebo audio) již musí být načteno v paměti, aby bylo započato přehrávání. | 3 |
| timeout | Celé číslo [ms] | Určuje po kolika milisekundách bez odezvy serveru je zadaný soubor vyhodnocen jako nedostupný. | 10000 |
| altTimeout | Celé číslo [ms] | Určuje po kolika milisekundách bez odezvy serveru je zadaný alternativní soubor vyhodnocen jako nedostupný. | 10000 |
| showTime | Celé číslo [ms] | Doba zobrazení obrázků při slideshow. Tento parametr je možné definovat i zvlášť pro jednotlivé soubory playlistu. | 4000 |
| showEffect | none | fade | blur | Efekt zobrazení souboru při přechodu mezi soubory v playlistu. Tento parametr je možné definovat i zvlášť pro jednotlivé soubory playlistu. | none |
| hideEffect | none | fade | blur | Efekt skrytí souboru při přechodu mezi soubory v playlistu. Tento parametr je možné definovat i zvlášť pro jednotlivé soubory playlistu. | none |
| effectTime | Celé číslo [ms] | Doba přechodového efektu. Tento parametr je možné definovat i zvlášť pro jednotlivé soubory playlistu. | 1000 |
| backgroundAudio | URL | Audio soubor, který se začne přehrávat na pozadí ihned po inicializaci přehrávače. Ovládání hlasitosti v ovládacím panelu má vliv na hlasitost tohoto souboru. Přehráváný soubor se neustále opakuje. | není |
Atributy položek playlistu
Uvnitř kořenového elementu <playlist> se dále nacházejí elementy <item> definující jednotlivé soubory určené k přehrávání. Každý prvek má specifické atributy, které ovlivňují jeho vzhled a chování.
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| filename | URL | Jméno souboru, který se má přehrát. Přehrávač typ souboru odvozuje na základě jeho přípony. Rozpozná soubor typu
|
|
| altfilename | URL | Alternativní jméno souboru, který se má přehrát, pokud pokus o přehrání primárního souboru selže. | |
| name | řetězec | Zobrazované jméno souboru v rámci elementu filename. Pokud není zadáno, použije se filename (bez cesty). | |
| next | true | false | Pokud je zadáno next="false", soubor nelze přeskočit ani se v něm pohybovat. Hodí se pro reklamní bloky. | true |
| url | URL | Odkaz, na který bude uživatel přesměrován, pokud klikne na video/obrázek. | |
| width | celé číslo [px] | Explicitně definovaná šířka videa či obrázku. Pokud není zadáno, použije se implicitní šířka videa či obrázku. | |
| height | celé číslo [px] | Explicitně definovaná výška videa či obrázku. Pokud není zadáno, použije se implicitní výška videa či obrázku. | |
| imagefile | URL | Obrázek, který se zobrazí, pokud je soubor ve stavu STOP. Pokud není zadáno, zobrazí se první frame. Má význam jen pro video a audio. | |
| showtime | celé číslo [ms] | Doba zobrazení obrázků při slideshow v ms. Pokud není zadáno, použije se hodnota zadaná jako atribut v kořenovém elementu. | |
| showEffect | none | fade | blur | Efekt zobrazení souboru při přechodu mezi soubory v playlistu. Pokud není zadáno, použije se hodnota zadaná jako atribut v kořenovém elementu. | |
| hideEffect | none | fade | blur | Efekt skrytí souboru při přechodu mezi soubory v playlistu. Pokud není zadáno, použije se hodnota zadaná jako atribut v kořenovém elementu. | |
| effectTime | Celé číslo [ms] | Doba přechodového efektu. Pokud není zadáno, použije se hodnota zadaná jako atribut v kořenovém elementu. |
Příklad playlistu
<playlist autoplay="false" buffer="1.5" showtime="5000" showEffect="blur" hideEffect="blur" effectTime="300" volume="50">
<item filename="advertisment.flv" next="false" width="100" height="80" url="http://adservice.com?id=54342"/>
<item filename="slideshow/image1.jpg" />
<item filename="slideshow/image2.jpg" />
<item filename="slideshow/image3.jpg" />
<item filename="slideshow/image4.jpg" />
<item filename="slideshow/image5.jpg" />
<item filename="slideshow/image6.jpg" />
</playlist>
Titulek souboru
Uvnitř elementu <item> lze pro každý soubor definovat jeho titulek jako vnořený element <title>. Titulek je textové pole, které se zobrazuje vždy po celou dobu přehrávání daného souboru. Zobrazuje se jako vodorovný proužek pod či nad zobrazované video či obrázek. Slouží zejména pro zobrazení popisu či pojmenování u obrázků, může však být použito i pro videa a zvukové soubory.
Text titulku se vkládá dovnitř elementu. V textu je možno použít HTML značky podporované Flash Playerem. Jedná se o značky <a>, <b>, <br>, <font>, <img>, <i>, <li>, <p>, <textformat>, <u>. Podrobnější informace o Flash HTML jsou k dispozici v dokumentaci Adobe. Při použití HTML značek jen potřeba rozlišit značkovací elementy samotného konfiguračího XML souboru a vnořeného HTML, proto je potřeba buď značky zakódovat jako HTML entity (" < >) nebo lépe použít element CDATA. Obě možnosti jsou uvedeny v příkladu:
<playlist autoplay="false" >
<item filename="movie.flv">
<title backgroundColor="#000000" color="#EEEEEE" align="bottom" paddingLeft="10" paddingRight="10" height="32">
Ukázka použítí HTML v titulku s využitím zakódování do entit:
<i>kurzíva</i>, <b>tučně<b> a
<font color="#0000FF" >zeleně</font>.
</title>
</item>
<item filename="movie.flv">
<title backgroundColor="#000000" color="#EEEEEE" align="bottom" paddingLeft="10" paddingRight="10" height="32">
<![CDATA[
Ukázka použítí HTML v titulku s využitím značky CDATA:
<i>kurzíva</i>, <b>tučně</b> a <font color="#0000FF" >zeleně</font>.
]]>
</title>
</item>
</playlist>
Každý titulek by měl mít následující atributy:
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| backgroundColor | hex. číslo barvy | Barva pozadí boxu v němž je titulek umístěn. | #303030 |
| color | hex. číslo barvy | Barva textu titulku. | #FFFFFF |
| fontSize | celé číslo [px] | Velikost písma titulku. Při zvětšení přehrávače na celou obrazovku je velikost písma zvětšena ve stejném poměru, v jakém byla zvětšena zobrazovaná plocha. | 14 |
| align | top | bottom | Vertikální umístění titulku. Možné hodnoty jsou "top" (titulek je umístěn u horní hrany přehrávače) nebo "bottom" (titulek je umístě u spodní hrany přehrávaného souboru). | top |
| height | celé číslo [px] | Výška boxu v němž je titulek umístěn. | 20 |
| paddingTop | celé číslo [px] | Horní odsazení textu vrámci boxu. | 0 |
| paddingRight | celé číslo [px] | Pravé odsazení textu vrámci boxu. | 0 |
| paddingBottom | celé číslo [px] | Spodní odsazení textu vrámci boxu. | 0 |
| paddingLeft | celé číslo [px] | Levé odsazení textu vrámci boxu. | 0 |
Filmové titulky
Přehrávač umožňuje během přehrávání souborů zobrazit stejné titulky, jako jsou běžné u filmů. Implicitně se zobrazují v dolní části videa zarovnány na střed. Od verze 1.6 je možné změnit vzhled titulků pomocí skinu (viz atribut subtitles). K vykreslení je vždy použita bílá barva písma s černým obrysem a tučný řez písma. U titulků lze použít HTML značky stejně jako u titulku souboru. Pro přesun na nový řádek lze použít escape sekvenci \n. Titulky se definují pro každou položku v playlistu jako elementy <subtitle> v rámci elementu <item>. Je nutné specifikovat atributy from a to, které určují časový interval pro zobrazení titulku v sekundách od začátku filmu.
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| from | čas* | Počátek časového intervalu pro zobrazení titulku. | |
| to | čas* | Konec časového intervalu pro zobrazení titulku. | |
| fontSize | celé číslo [px] | Velikost písma daného titulku. Při zvětšení přehrávače na celou obrazovku je velikost písma zvětšena ve stejném poměru, v jakém byla zvětšena zobrazovaná plocha. | 18 |
* Formát času je možno zadat ve tvaru HH:MM:SS.MS. Není potřeba dodržet tvar úplně přesně. Přehrávač rozumí např. i tvarům MM:SS, SS:MS, M:S nebo jen S. Nepochopí však tvar HH:MM - zde je potřeba použít tvar HH:MM:SS - tj. vteřiny jsou vždy povinné. Formální definice syntaxe je tedy [[HH:]MM:]SS[.MS].
<playlist autoplay="false" >
<item filename="movie.flv">
<subtitle from="55" to="58" >Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit</subtitle>
<subtitle from="78" to="82" >Maecenas tincidunt mollis enim,\nid bibendum risus tincidunt vitae.</subtitle>
<subtitle from="92" to="95" >Pellentesque iaculis, erat vel euismod adipiscing,\n
dui eros viverra velit, sed rhoncus felis erat eu nibh. </subtitle>
<subtitle from="105" to="107" >Maecenas vitae vehicula augue?\nPraesent nec dapibus metus</subtitle>
</item>
</playlist>
Související soubory
V rámci playlistu je možné specifikovat seznam souborů, který se zobrazí po dokončení přehrávání všech souborů. K dispozici jsou dva způsoby specifikace:
- Staticky - seznam souvisejících souborů je specifikován v rámci elementu
playlist. Seznam musí být vnořen v elementurelated. Jednotlivé položky se specifikují stejně jako běžné položky playlistu, tj. pomocí elementuitem. - Dynamicky - seznam souvisejících souborů je specifikován pomocí externího souboru ve stejném formátu jako playlist. URL externího souboru se zadává jako atribut
relatedv rámci elementuplaylist.
Je vhodné u souborů specifikovat náhledový obrázek (atribut imagefile) a popis souboru (atribut name).
Statická metoda:
<playlist autoplay="false" related="related.xml" >
<item filename="movie.flv" />
</playlist>
Dynamická metoda:
<playlist autoplay="false" related="related.xml" >
<item filename="movie.flv" />
<related>
<item name="Zajimavý související soubor" imagefile="thumbnail.jpg" filename="another_movie.flv" />
</related>
</playlist>
Definice zdrojů dle šířky pásma
V případě, že je soubor dostupný v několika rozlišeních, je možné tyto kvality rozlišit pomocí tří úrovní:
- Low - nejnižší kvalita
- Medium - stední kvalita
- High - nejvyšší kvalita
Adresy jednotlivých souborů se definují jako vnořené elementy uvnitř elementu item takto:
<playlist ... >
...
<item name="Movieclip">
<stream filename="movieclip_480p.flv" altfilename="alt_movieclip_480p.flv" quality="medium"/>
<stream filename="movieclip_320p.flv" altfilename="alt_movieclip_320p.flv" quality="low"/>
<stream filename="movieclip_729p.flv" altfilename="alt_movieclip_729p.flv" quality="high"/>
</item>
</playlist>
Pokud jsou soubory definovány tímto způsobem, nemá atribut filename v elementu item význam. Pro definici streamů je možné využít i konfiguraci pomocí parametrů.
Jakmile jsou k dispozici alespoň dva různé streamy, zobrazí se v ovládací liště tlačítko pro výběr kvality souboru. Změnu kvality streamu je možné uskutečnit i během přehrávání souboru. V případě, že aktuální soubor není přehráván progresivní metodou (je použit RTMP protokol místo HTTP), bude přehrávání návázáno na stejné pozici.
Implicitně se začně přehrávat stream, který je uveden jako první v pořadí, tj. v příkladu výše to bude stream s atributem quality="medium".
Konfigurace reklamních bloků
Přehrávač umožňuje do přehrávaných souborů vkládat reklamní bloky. Jako reklamní blok může být použit:
- video soubor (flv, rtmp),
- flashový banner (swf),
- obrázek (jpg, png, gif) nebo
- textový blok (html).
Pokud má reklama charakter video-souboru a má být přehrána během přehrávání jiného souboru, dojde před jejím spuštěním k pozastavení aktuálně přehrávaného souboru. Reklamní bloky se dle své časové pozice rozlišují na:
- pre-roll - reklama je přehrána před začátkem přehrávání souboru,
- mid-roll - reklama je zobrazena / přehrána během přehrávání souboru,
- post-roll - reklama je přehrána po skončení přehrávání souboru a
- main-roll - zobrazuje se jen reklama (playlist je prázdný).
Flashové banenry, obrázky a textové bloky jsou zobrazeny překryté přes přehrávaný soubor (overlay) a v jejich případě má význam jen pozice mid-roll.
Reklamní bloky lze definovat vnitř XML souboru (tzv. statická metoda) nebo je možné pro ovládání reklamy specifikovat vzdálenou službu na reklamním serveru (tzv. dynamická metoda). Způsob ovládání reklamy se určuje v XML souboru, který je specifikován pomocí proměnné adverts při inicializaci přehrávače (implicitně se jedná o soubor adverts.xml).
Definice reklamních bloků pomocí XML souboru (statická metoda)
Jednotlivé reklamní bloky se specifikují v XML souboru (implicitně se jedná o soubor adverts.xml). Každý reklamní blok je potřeba definovat uvnitř kořenového elementu jako vnořený element <item/>. Viz příklad:
<adverts script="getAdServerParams" scriptTimeOut="100" jingle="http://adserver.com/jingle.flv">
<item filename="http://adserver.com/banner.swf" position="1.1" duration="4"
url="http://adserver.com/?redirect=7f8e95b4e5" horizontalAlign="middle" verticalAlign="top"/>
<item filename="http://adserver.com/video_ad.flv" position="2" url="http://adserver.com/?redirect=9c8e33b545" />
<item position="3" time="03:15" backgroundImage="http://adserver.com/ad_banner_background.gif" color="#FFFFFF"
backgroundAlpha="0.5" verticalAlign="middle" height="80" fontSize="12" showEffect="bottom"
hideEffect="top" url="http://adserver.com/?redirect=2f8e95b4e5"
text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas venenatis lorem a dolor dignissim
faucibus. Nam eu pretium justo. Etiam adipiscing consectetur purus, et tristique neque pellentesque non.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus." />
</adverts>
Význam možných atributů u jednotlivých reklamních položek je následující:
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| filename | URL | Jméno souboru, který má být použít jako reklamní blok. Pokud není zadáno, předpokládá se, že jsou URL souborů zadávány relativně k aktuálnímu umístění souboru VideoPlayer.swf nebo absolutně (včetně uvedení protokolu http://). Je možné specifikovat odkaz na video soubor (flv, rtmp), flashový banner (swf) nebo obrázek (jpg, png, gif). | nic |
| text | řetězec | Text, který se zobrazí jako reklamní blok. V textu je možno použít HTML značky podporované Flash Playerem. Jedná se o značky <a>, <b>, <br>, <font>, <img>, <i>, <li>, <p>, <textformat>, <u>. Podrobnější informace o Flash HTML jsou k dispozici v dokumentaci Adobe. Při použití HTML značek jen potřeba rozlišit značkovací elementy samotného konfiguračního XML souboru a vnořeného HTML, proto je potřeba buď značky zakódovat jako HTML entity (" < >) nebo lépe použít element CDATA. V rámci elementu img je možné odkazovat nejen na obrázek, ale i na jiný Flash soubor a zobrazit tak animované bannery. | nic |
| position | číslo | Údaj určující pozici zobrazení reklamy. Celá část atributu označuje soubor v playlistu (od nuly), do kterého bude tato reklama vložena. Desetinná část atributu označuje pozici v rámci přehrávaného souboru (videa, zvuku apod.). Tuto část je možné úplně vynechat a zadat čas pomocí atributu time. Příklady:
|
|
| time | čas* | Určuje pozici reklamy v rámci přehrávaného souboru ve vteřinách. Pokud je tato hodnota zadána, má přednost před hodnotou zadanou v atributu position. | |
| url | URL | URL, na které je uživatel přesměrován při kliknutí na reklamu. Odkaz se vždy otevírá do nového okna. | |
| width | celé číslo [px] | Explicitně definovaná šířka video reklamy. Pokud není zadáno, použije se implicitní šířka videa. | |
| height | celé číslo [px] | Explicitně definovaná výška video reklamy. Pokud není zadáno, použije se implicitní výška videa. | |
| resize | original | fit | auto | Určuje způsob, jakým bude reklama zobrazena s ohledem na její rozměry.
|
original |
| adStart | URL | Na zadané URL je proveden HTTP požadavek, jakmile dojde k započetí přehrávání reklamního bloku. Slouží pro generování reportů. | |
| adEnd | URL | Na zadané URL je proveden HTTP požadavek, jakmile dojde k ukončení přehrávání reklamního bloku. Slouží pro generování reportů. | |
| color | hex. číslo barvy | Implicitní barva textu, pokud není definována pomocí HTML přímo v textu. Má význam jen pro textové reklamní bloky. | |
| fontSize | celé číslo [px] | Implicitní velikost písma textu. Při přepnutí do full-screen režimu se velikost písma zvětší v poměru zvětšení přehrávače. Má význam jen pro textové reklamní bloky. | |
| backgroundColor | hex. číslo barvy | Barva pozadí reklamního bloku. Má význam jen pro textové reklamní bloky. | |
| backgroundAlpha | Desetinné číslo | Průhlednost pozadí reklamního bloku v rozmezí od 0 do 1. Má význam jen pro textové reklamní bloky. | |
| backgroundImage | URL | Obrázek na na pozadí reklamního bloku. Má význam jen pro textové reklamní bloky. | |
| horizontalAlign | left | center | right | Horizontální zarovnání boxu na ploše přehrávače. Možnosti jsou: "left", "center" a "right". V kombinaci s atributem verticalAlign je tak reklamní blok možno umístit na jednu z devíti možných pozic včetně umístění doprostřed přes video. Implicitní hodnota je "center". | center |
| verticalAlign | top | middle | bottom | Vertikální zarovnání boxu na ploše přehrávače. Možnosti jsou: "top", "middle" nebo "bottom". V kombinaci s atributem horizontalAlign je tak reklamní blok možno umístit na jednu z devíti možných pozic včetně umístění doprostřed přes video. Implicitní hodnota je "bottom". | bottom |
| showEffect | top | left | right | bottom | fade | Efekt zobrazení banneru. Možnosti: "top", "left", "right", "bottom" a "fade". Pokud není nic zadáno, zobrazí se reklama bez efektu. | none |
| hideEffect | top | left | right | bottom | fade | Efekt skrytí banneru. Možnosti: "top", "left", "right", "bottom" a "fade". Pokud není nic zadáno, zobrazí se reklama bez efektu. | none |
* Formát času je možno zadat ve tvaru HH:MM:SS.MS. Není potřeba dodržet tvar úplně přesně. Přehrávač rozumí např. i tvarům MM:SS, SS:MS, M:S nebo jen S. Nepochopí však tvar HH:MM - zde je potřeba použít tvar HH:MM:SS - tj. vteřiny jsou vždy povinné. Formální definice syntaxe je tedy [[HH:]MM:]SS[.MS].
Ovládání reklamních bloků pomocí reklamního serveru (dynamická metoda)
Pro ovládání reklamních bloků vzdáleným reklamním serverem, je nutné specifikovat v XML souboru následující atributy (viz předchozí příklad):
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| script | název funkce | Název JavaScriptové funkce, která ovládá reklamní bloky nebo definuje URL služeb na reklamním serveru. | nic |
| scriptTimeOut | celé číslo [ms] | Označuje dobu (v ms), během níž by měla JavaScript funkce vrátit návratovou hodnotu. | 0 |
| jingle | URL | URL souboru, který je přehrán před každým reklamním blokem. Podporován je formát FLV nebo SWF. |
Je-li zadán atribut script, dojde při inicializaci přehrávače k zavolání zadané JavaScriptové funkce. Pokud funkce vrátí v zadaném časovém limitu textový řetězec ve formátu ready|filename|url|position|adStart|adEnd, je daný reklamní blok přehrán před prvním souborem v playlistu. Význam položek ve vráceném řetězci je stejný jako u reklamních bloků definovaných v XML.
Pokud funkce vrátí objekt, bude přehrávač komunikovat s reklamním serverem průběžně během přehrávání souborů. Vrácený objekt by měl obsahovat atributy uvedené v tabulce níže.
| Atribut | Formát | Význam | Implicitní hodnota |
|---|---|---|---|
| mainRollURL | URL | URL adresa HTTP služby, která se bude volat v případě, že je playlist prázdný. | nic |
| preRollURL | URL | URL adresa HTTP služby, která se bude volat před započetím přehrávání hlavního video souboru. | nic |
| midRollURL | URL | URL adresa HTTP služby, která se bude volat během přehrávání hlávního video souboru. | nic |
| postRollURL | URL | URL adresa HTTP služby, která se bude volat po skončení přehrávání hlávního video souboru. | nic |
| midRollRequestInterval | desetinné číslo [s] | Interval dotazování AdServeru pro mid-roll reklamu ve vteřinách. Použití datového typu Number umožňuje zadat i desetinou část a specifikovat tak čas s rozlišením na milisekundy. Nula znamená "nedotazuj se nikdy". | 0 |
| midRollRequestTriggers | pole | Seznam konkrétních časů v přehrávaném souboru, kdy má dojít k dotazování pro mid-roll reklamu. Formát času je možno zadat ve tvaru [[HH:]MM:]SS[.MS]. |
nic |
Samotná JavaScriptová funkce pro inicializaci komunikace s reklamním serverem může vypadat např. takto:
function getAdServerParams() {
return {
preRollURL: "http://adserver.com/preroll.xml?id=46a4b8c87",
midRollURL: "http://adserver.com/banners.xml?id=46a4b8c87",
postRollURL: "http://adserver.com/postroll.xml?id=?id=46a4b8c87",
midRollRequestInterval: 600,
midRollRequestTriggers: ['25:00', '50:00', '01:30:00']
}
}
Komunikace s reklamním serverem
Komunikace s reklamním server probíhá pomocí protokolu HTTP. Každý HTTP požadavek na server obsahuje v URL tyto proměnné:
| Parametr | Význam |
|---|---|
| type | Typ požadavku; možné hodnoty jsou: mainRoll, preRoll, midRoll a postRoll. |
| videoName | Název přehrávaného souboru |
| timeElapsed | Aktuální čas videa (ve vteřinách) |
| playlistPosition | Aktuální pozice videa v playlistu |
| viewStatus | Normal nebo fullscreen |
| playerWidth | Šířka přehrávače |
| playerHeight | Výška přehrávače |
| adOrder | Počet dosud přehraných reklam |
| bust | Náhodné číslo, aby požadavek nebyl vracen z cache. |
Přehrávač očekává odpověď ve specifickém formátu. Pokud reklamní server pošle prázdnou odpověď, znamená to, že v daný okamžik není potřeba přehrát žádnou reklamu. V opačném případě by měl reklamní server poslat XML v následujícím tvaru:
<?xml version="1.0" encoding="UTF-8"?>
<reply>
<type>typ reklamy - "normal" nebo "overlay"<type>
<url>url flv nebo swf souboru k zobrazení</url>
<duration>doba zobrazení ve vteřinách pro overlay reklamy</duration>
<redirect>url pro měření kliknutí a přesněrování do nového okna</redirect>
<resize>original|fit|auto</resize>
<horizontalAlign>left|center|right</horizontalAlign>
<verticalAlign>top|middle|bottom</verticalAlign>
<controls> tento blok není povinný
<close>inside|outside|hide</close> pokud není zadáno, použije se inside
<pause>allow|deny</pause> pokud není zadáno, použije se deny
<stop>allow|deny</stop> pokud není zadáno, použije se deny
<next>allow|deny</next> pokud není zadáno, použije se deny
<previous>allow|deny</previous> pokud není zadáno, použije se deny
<seek>allow|deny</seek> pokud není zadáno, použije se deny
</controls>
<handler type="javascript" function="myEventHandlerFunctionName">
<parameters>
JSON objekt, který je předán funkci zadané atributem function
</parameters>
<events>
<onplay>always|once</onplay> always = volat službu vždy
<onpause>always|once</onpause> once = volat službu jen jednou, další události ignorovat
<onstop>always|once</onstop>
<onskip>always|once</onskip>
<onclose>always|once</onclose>
<onfinish>always|once</onfinish>
<onprogress>10</onprogress> 10 = volat službu každých 10 vteřin, 0 = nevolat nic
</events>
</handler>
<handler type="remote" url="http://myadserver.tld/eventHandlerService/" method="post|get">
<parameters>
řetězec, který je poslán jako proměnná "parameters" na server
</parameters>
</handler>
</reply>
Po obdržení odpovědi přehrávač podle typu reklamy buď zastaví aktuální video a spustí reklamní blok nebo zobrazí overlay reklamu přes aktuální video.
Pokud odpověď definuje URL pro obsluhy událostí (elementy handler), je pro každý z těchto elementů nastavena obsluha pro reportování událostí na reklamní server.
Obsluhy událostí je možno definovat v XML vícekrát s různými parametry. Je tak možné například docílit volání různých URL pro různé události.
Význam jednotlivých atributů je uveden v následující tabulce:
| Element | Formát | Význam |
|---|---|---|
| type | normal | overlay | Typ reklamy, kterou je nutné přehrát nebo zobrazit. |
| url | URL | URL k video souboru nebo flashovému banneru, který se má přehrát nebo zobrazit jako reklamní blok. |
| html | html |
Pokud není zadáno URL souboru s reklamním obsahem, je možné použít element html,
jehož obsah se zobrazí jako overlay banner. V textu je možno použít HTML značky podporované Flash Playerem. Jedná se o značky <a>, <b>, <br>, <font>, <img>, <i>, <li>, <p>, <textformat>, <u>. Podrobnější informace o Flash HTML jsou k dispozici v dokumentaci Adobe. Při použití HTML značek jen potřeba rozlišit značkovací elementy samotného konfiguračního XML souboru a vnořeného HTML, proto je potřeba buď značky zakódovat jako HTML entity (" < >) nebo lépe použít element CDATA. V rámci elementu img je možné odkazovat nejen na obrázek, ale i na jiný Flash soubor.
Dále je nutné zadat do elementu html některé důležité atributy:
|
| duration | celé číslo [s] | Doba zobrazení ve vteřinách pro overlay reklamy. |
| redirect | URL | URL pro měření kliknutí a přesměrování do nového okna. |
| resize | original | fit | auto | Určuje způsob, jakým bude reklama zobrazena s ohledem na její rozměry.
|
| horizontalAlign | left | center | right | Horizontální zarovnání overlay reklamy na ploše přehrávače. Možnosti jsou: "left", "center" a "right". V kombinaci s atributem verticalAlign je tak reklamní blok možno umístit na jednu z devíti možných pozic včetně umístění doprostřed přes video. Implicitní hodnota je "center". |
| verticalAlign | top | middle | bottom | Vertikální zarovnání overlay reklamy na ploše přehrávače. Možnosti jsou: "top", "middle" nebo "bottom". V kombinaci s atributem horizontalAlign je tak reklamní blok možno umístit na jednu z devíti možných pozic včetně umístění doprostřed přes video. Implicitní hodnota je "bottom". |
| controls | XML | Možnost ovlivnit zobrazení nebo povoloní některých ovládacích prvků běem přehrávání reklamního bloku.
Uvnitř elementu control je možné zadat následující možnosti:
deny.
|
| handler | XML | Možnost nadefinovat handlery, které budou reportovat uživatelské akce vyvolané během přehrávání reklamy. Reportování může probíhat dvěma způsoby:
<events/> je tedy možné zapsat následující elementy, které reprezentují reakce na jednotlivé události: onplay, onpause, onstop, onskip, onclose, onfinish a onprogress. Obsahem těchto elementů je buď klíčové slovo always (volat službu při každém vyvolání dané události) nebo once (volat službu jen jednou při prvním vyvolání události, další události ignorovat). Jedinou výjimkou je reakce na událost progres, kde je nutno specifikovat interval reportování ve vteřinách.
|
Pokud je pro reportování událostí použita funkce v JavaScriptu, očekává tato funkce dva parametry. Prvním parametrem je objekt, který je obsahem odpovědi serveru (element parameters). Druhým parametrem je typ (název) reportované události. Níže je uveden příklad funkce, která zpracovává události vyvolané přehráváním reklamy.
function myEventHandlerFunction(parameters, eventName) {
alert(eventName);
}
Pokud je pro reportování událostí použito volání vzdáleného serveru, volané URL bude obsahovat dvě proměnné: parameters a type.