Start presentation

Média v HTML5

video, audio a canvas

Martin Hassman (http://zdrojak.root.cz)

1. 11. 2008, LinuxAlt, Praha

Co je HTML5?

Co obsahuje?

  • Příklady standardizace proprietárních řešení: innerHTML, getElementsByClassName, drag & drop, contenteditable, designMode
  • Specifikace reálného HTML, HTML z ulice (HTML as she spoke)

Novinky HTML5

Značky video, audio

Implementovány v Safari, Firefox 3.1

Proč?

Ukázka videa 1

<embed type="application/x-shockwave-flash"
src="/static/cz/shared/app/MediaCenter.swf"
quality="high"
wmode="transparent"
allowfullscreen="true"
flashvars="media_id=431380&bit=1225473403624233743826
&color=#000000&autostart=true&config_file_append="
width="440"
height="288">

Ukázka videa 2

<!--[if !IE]>-->
<object type="application/x-ms-wmp"
width="320" height="305">
  <param name="src" value="/services/playlist.asx">
  <param name="autostart" value="1" id="autoStart">
<!--<![endif]-->
  <param name="mute" value="0">
  <param name="autostart" value="1" id="autoStart2">
  <param name="autosize" value="0">
  <param name="stretchtofit" value="0">
  <param name="uimode" value="full">
</object>

Nešlo by to lépe?

Šlo

<video src="soubor.ogg"></video>

Fallback content

<video src="soubor.ogg">
  You can
  <a href="soubor.ogg">
    download video
  </a>
</video>

Atributy videa

<video src="soubor.ogg"
  controls
  autoplay
  poster="picture.gif"
>

Ovládání JavaScriptem

<video src="soubor.ogg"
  onclick="if (this.paused)
    this.play();
  else
    this.pause()"
>

Události

Celkem 22 událostí

  • play
  • pause
  • ended
  • progress
  • volumechange
  • seeking
  • seeked
  • waiting

Audio

Audio

<audio src="sound.ogg"></audio>

Atributy a události podobné jako u videa

Audio v JavaScriptu

var skladba = new Audio("sound.ogg");
skladba.play();

Co chybí?

Jednotný kodek
(Firefox implementuje OGG, Safari zase QuickTime)

Dohodnou se prohlížeče? NEVÍME!?!

Canvas

Implementován v Safari, Opeře,
Firefoxu, Chrome
Částečná emulace v IE

Co canvas umožňuje

  • Vykreslování 2D grafiky
  • Modifikaci obrázků, fotek
  • Interaktivní hry, grafy
  • Rozšíření možností prohlížečů

Značka canvas

<canvas></canvas>

Fallback content

<canvas>
  <img href="obrazek.png" alt="...desc...">
</canvas>

Context 2d

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.fillRect(10, 10, 20, 20);

Metody 2d

  • moveTo
  • lineTo
  • quadraticCurveTo
  • bezierCurveTo
  • arcTo
  • rect
  • fillRect

Metody 2d - pokračování

  • fill
  • createLinearGradient
  • createRadialGradient
  • drawImage

Metody 2d - pokračování 2

  • scale
  • rotate
  • translate
  • transform

Další informace

5 > 4

5 > 3

5 > 2

5 > 1

Otázky?