HTML5 video, audio, canvas. Mirja Jaakkola



Samankaltaiset tiedostot
Sähköiset sisällöt yleisiin kirjastoihin - hanke Turku Aija Laine aija.laine@turku.fi

HTML & CSS. HTML (HyperText Markup Language) Antti Koivisto. ! HTML on sivujen kuvauskieli.

Internet-pohjaisen oppimisympäristön laadinta. Luento 3

Käyttöohje - Sanoma Pro digikirjat verkkopalvelu v Sanoma Pro digikirjat verkkopalvelu Yleistä Laitteistovaatimukset...

Mediaelementit. Mirja Jaakkola

Alkuun HTML5 peliohjelmoinnissa

Harjoitustyö 5: 2D-animointi verkkosivuilla (HTML5 Canvas)

AINEISTOJEN TEKNINEN OHJEISTUS 2009

HTML 5 Johdanto. Mikä on HTML 5

Ääni ja video verkkosivuilla (HTML5 Audio ja Video)

Flow!Works Pikaohjeet

Jos haluat uuden Share-työkalun, valitse Pods -> Share -> Add New Share tai jos sinulla on jo auki Share-työkalu, näyttää se tältä:

Formaattien muunnokset pva

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Condes. Quick Start opas. Suunnistuksen ratamestariohjelmisto. Versio 8. Quick Start - opas Condes 8. olfellows 1.

6. Harjoitusjakso II. Vinkkejä ja ohjeita

JAVA on ohjelmointikieli, mikä on kieliopiltaan hyvin samankaltainen, jopa identtinen mm. C++

Gimp JA MUUT KUVANKÄSITTELYOHJELMAT

Johdatus L A TEXiin. 7. Taulukot ja kuvat. Dept. of Mathematical Sciences

KTKO104 Demo 3. Marika Peltonen

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Entiteetit erotetaan muusta tekstistä & ja puolipiste. esim. copyright-merkki näkyy sivulla

HTML5 -elementit jatkuu

Laiteriippumaton UI Ajaxilla ja Javalla

Dia Diagram Editor. Petri Sallasmaa, Petri Salmela. 20. lokakuuta 2014

(HTML5 Canvas) T Digitaalisen median työvälineet (3 op) ME-C2300 Verkkojulkaisemisen perusteet (5 op)

JWT 2016 luento 11. to klo Aulikki Hyrskykari. PinniB Aulikki Hyrskykari

Epooqin perusominaisuudet

Ohjelmoinnin perusteet Y Python

Ensin klikkaa käynnistä-valikkoa ja sieltä Kaikki ohjelmat valikosta kaikki ohjelmat

PowerPoint -esitysgrafiikka

GeoGebra Quickstart. Lyhyt GeoGebra 2.7 -ohje suomeksi

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

Internet-pohjaisen oppimisympäristön laadinta. Luento 4

ARVO - verkkomateriaalien arviointiin

Ohjeita kirjan tekemiseen

Tavallisen videomainoksen sijasta Ruudussa voidaan mainostauolla esittää dynaamisia spotteja.

Webinaariin liittyminen Skype for

Ohje sähköiseen osallistumiseen

MeetNow-palvelun käyttöopas

AJAX-konsepti AJAX. Asynkronisuus. Nykyisten web-ohjelmien ongelmia. Asynchronous JavaScript And XML

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

HTML5 Tutkielma Centria ammattikorkeakoulu Paavo Räisänen

Tikon Web-sovellukset

3. Vasemman reunan resurssiselaimen Omiin resursseihin luodaan uusi Handmade -niminen kansio.

Webinaarin osallistujan ohje

OpenOffice.org Impress 3.1.0

Selaimen asetukset. Toukokuu (7) Selaimen asetukset Tikon Oy. All rights reserved.

Kurssimateriaali. GeoGebra

Tikon Web-sovellukset

PortableApps.com ilmaisohjelmien asennus ja käyttö muistitikulla

Harjoitus 4: HTML5 piirtoalusta ( )!

Google Sites: sivun muokkaaminen (esim. tekstin, kuvien, linkkien, tiedostojen, videoiden ym. lisääminen)

Ohje sähköiseen osallistumiseen

Toimeentulotuen sähköinen asiointi - Käyttöohje

Verkkosivut perinteisesti. Tanja Välisalo

Googlen pilvipalvelut tutuksi / Google Drive

VANHEMPIEN KÄYTTÖLIITTYMÄN OHJEET

Alma-mobiiliverkosto aineisto-ohjeet. Päivitetty

Opetusvideoiden taltiointi ja jakelu

Liittyminen Sovelton Online-tapahtumaan Microsoft Lync Web App -selainlaajennuksella (Windows, MAC ja ipad)

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet

Opetusvideoiden taltiointi ja jakelu

ETÄPALVELU. HALTIK Videoportaali - osallistujan ohje

Kirjaudu sisään palveluun klikkaamalla Omat kartat -painiketta.

Ohje vanhemmille - näin alkuun Päikyssä

TIEDOSTOFORMAATIT. Lyhyt selostus erilaisista tiedostoformaateista

Vaihdoitko puhelinta? Yhteystietojen siirto Lumian, iphonen ja Androidin välillä käy näin

Ennen varmenteen asennusta varmista seuraavat asiat:

Meetnow-palvelun käyttöopas

3. Harjoitusjakso I. Vinkkejä ja ohjeita

MOODLE 2.5 OPISKELIJAN PIKAOPAS. Hyvinkään lukiot. Versiota päivitetään myöhemmin

Googlen pilvipalvelut tutuksi / Google Drive

Lisätehtävät. Frantic 2015 sivu 1

Tuplaturvan tilaus ja asennusohje

13673 A6 12pp CIG Bro FIN v5 20/7/05 8:01 pm Page 1 Rekisteröitymisohje

Helsingin Sanomat ipad

JavaScript alkeet Esimerkkikoodeja moniste 2 ( Metropolia)

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Fronter kotiohje HELSINGIN KAUPUNKI OPETUSVIRASTO MEDIAKESKUS KOTIOHJE

Edellinen päivitys: :10 Raportin aikaväli: Kuukausi Elo 2010

Hallintakeskus Vertailu: Sivusto Käynnit. 54,25 % poistui välittömästi Sivun katselut

Googlen palvelut synkronoinnin apuna. Kampin palvelukeskus Jukka Hanhinen, Urho Karjalainen, Rene Tigerstedt, Pirjo Salo

Tasogeometriaa GeoGebran piirtoalue ja työvälineet

Adobe Connect eli AC on tietokoneella käytettävä verkkokokous- ja -koulutusjärjestelmä.

COLLABORATE - OPISKELIJAN OPAS

PÄIVITÄ TIETOKONEESI

Google-dokumentit. Opetusteknologiakeskus Mediamylly

7. Kuvien lisääminen piirtoalueelle

KÄYTTÖÖN. Koulukirjat tietokoneelle PIKAOHJEET PAPERPORT -OHJELMAN. Sisällysluettelo

Selainpelien pelimoottorit

Javascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia

K-Lite Codec Pack v2.48 Asennusohje (toimii myös uusissa versioissa)

Paperiton näyttösuunnitelma

Planssit (layouts) ja printtaus

Share-työkalu (AC 9.1)

SÄHKÖPOSTIOHJE. Opiskelijoiden Office 365 for Education -palveluun

OPISKELIJAN PIKAOPAS

Kennelliiton Omakoira-jäsenpalvelu Ohje yhdistyksille, toimintailmoituksen antaminen

HTML5 & CSS3 perusteet

Transkriptio:

HTML5 video, audio, canvas Mirja Jaakkola

Video webbisivulla HTML5 mahdollistaa videon lisäämisen webbi-sivuille ilman plugineja. Yleisimmät videoformaatit webissä: Mpeg-4 eli H.264 Ogg Flash Perustuu Applen Quicktime-formaattiin. Tuki IE9, Safari, Opera (Linux) Tiedostopäätteenä yleensä.mov,.mp4 tai.m4v Open Source, jota tuetaan Linux:ssa. Windows ja Mac-käyttäjät voivat asentaa tarvittavan koodekin. Firefox, Chrome ja Opera tukee Tiedostopäätteenä.ogv tai.ogx Flashin oma tiedostoformaatti, vaatii selaimeen plug-in. Tiedostomuoto.flv tai uudempi.f4v WebM Uusi googlen kehittä formaatti. Tuki tulossa: Chome, Firefox, Opera Tiedostomuoto.webm 2

Videon liittäminen webbisivulle <video> -elementti liittää videon sivulle <video src="video.mp4"/> Videoon voidaan liittää attribuutteja: <video src="video.mp4" width="400" height="300" autoplay="autoplay"/> Controls-attribuutilla saat kontrollipainikkeet Loop-attribuutilla video toistuu automaattisesti Preload-attribuutilla videon voi ladata vaikkei haluttaisi käynnistää sitä automaattisesti Poster-attribuutti sijoittaa kuvan videon mustan ruudun tilalle, jos videota ei haluta käynnistää heti. <video src="video.mp4" preload controls poster="kuva.png"/> 3

Erilaiset videoformaatit Lisää eri videotiedostoja source-elementin avulla. Jotta video näkyisi toistettaessa muista käyttää oikeaa MIME-tyyppiä sourcen yhteydessä. Vanhoja selaimia varten voit liittää myös flash-videon sivulle (ei käsitellä tässä). <video width="400" height="300" controls> <source src="video.mp4" type="video/mp4" /> <source src="video.ogv" type="video/ogg"/> </video> Lisätietoa videosta ja selain tuesta: http://blog.assortedgarbage.com/2010/10/html5-video-another-take/ http://camendesign.com/ Videon muuttaminen toiseen tiedostomuotoon: http://video.online-convert.com/convert-to-ogg http://video.online-convert.com/convert-to-mp4 4

Audio Audio-elementillä voit upottaa sivulle ääntä erikseen ilman videota <audio src="musa.mp3"/> Jos liität mukaan controls-attribuutilla kontrollit, alkaa esitys vasta kun sivulla olija haluaa käynnistää äänen Jos mukana on autoplay-attribuutti, käynnistyy esitys automaattisesti Eri selaimia varten kannattaa tarjota eri formaatteja, joista selain käyttää ensimmäiseksi tunnistamaansa. <audio controls> <source="musa.mp3" type="audio/mpeg" > <source="musa.ogg" type="audio/ogg"> </audio> 5

Audio linkkejä Tehosteääniä löydät esim. ylen tehoste-arkistosta (mp3-muoto): http://tehosto.yle.fi Firefoxia varten konvertoi äänet ogg-muotoon osoitteessa: http://audio.online-convert.com/convert-to-ogg ÄÄNIPÄÄ - ääni-ilmaisun ja äänikerronnan erikoissivut: http://www.aanipaa.tamk.fi/index.html 6

Canvas <canvas> on bitmap-tyyppinen objekti, jolle voidaan dynaamisesti tuottaa kuvia, graafeja, animaatiota, peligrafiikkaa Piirtoalueena toimii suorakaiteen muotoinen alue Piirtäminen perustuu javascript-funtioihin, jotka käyttävät Canvas API 2D-sovellusta kuvioiden, viivojen, siirtymien ja liukuvärien piirtämiseen <img>-elementtiin verrattuna suurin ero on se, että <canvas>elementissä voidaan muokata pikseleitä ja kuva voidaan tallentaa. Kaikki muut selaimet tukevat Canvas-elementtiä paitsi IE8 (IE9 tukee). 7

Canvas vertailua Canvas vrt. SVG SVG perustuu vektorigrafiikkaa ja on siksi skaalattavissa rajattomasti XML-kielinen tiedosto Canvas on bittikarttakuva, jota voi zoomata mutta ei skaalata Toteutetaan javascriptillä, joten voidaan toteuttaa animaatioita ja pelejä 8

Piirtäminen Canvas-elementillä Määritä ensin canvas-elementillä piirtoalustan koko: <canvas id= "pohja" width="400" height="300"></canvas> Seuraavaksi viitataan kontekstiolioon, johon piirtäminen tulee: var konteksti = document.getelementbyid("pohja").getcontext("2d"); Piirtämisessä käytetään koordinaatteja, jotka lähtevät vasemman yläkulman (0,0) pisteestä. Siirrä kursori moveto(x,y)- metodilla piirtämisen aloituskohtaan : konteksti.moveto(20,10); 9

Viivan piirtäminen Canvas-elementillä Määritä seuraavaksi viivan loppupiste lineto(x,y)- metodilla: konteksti.lineto(120,70); Määritä vielä viivalle väri: konteksti.strokestyle= "#f00"; Anna lopuksi stroke()-metodi viivan piirtämiseksi: konteksti.stroke(); 10

Koodi punaiselle kolmiolle Voit jatkaa viivan piirtämistä kuvioksi lisäämällä lineto-lauseita <canvas id= "pohja" width="400" height="300"></canvas> <script> var konteksti = document.getelementbyid("pohja").getcontext("2d"); konteksti.moveto(20,10); konteksti.lineto(120,70); konteksti.lineto(100,150); konteksti.lineto(20,10); konteksti.strokestyle= "#f00"; konteksti.stroke(); </script> 11

Silmukan hyödyntäminen Voit käyttää for-lausetta ja kasvattaa muuttujan arvoa. Esim. <canvas id= "pohja" width="400" height="300"></canvas> <script> var konteksti = document.getelementbyid("pohja").getcontext("2d"); konteksti.moveto(10,10); for(var i=10;i<200;i+=30){ konteksti.moveto(i,10); konteksti.lineto(i+30,30); konteksti.lineto(i+30,150); konteksti.lineto(i,10); } konteksti.strokestyle= "#f00"; konteksti.stroke(); </script> 12

Suorakulmio Suorakulmion piirtämiseen käytetään strokerect(x,y,leveys,korkeus) - metodia. konteksti.strokerect(20,10,80,60); Voit tehdä täytetyn (oletusväri musta) suorakulmion fillrect- metodilla. konteksti.fillrect(120,10,60,120); 13

Ympyrä & kaari Ympyrän ja kaaren saat arc(x, y, säde, alkukulma, loppukulma, kierto vastapäivään) -metodilla. Antamalla loppukulmalle arvon 2*Math.PI saat täyden ympyrän. linewidth määrittää viivan paksuuden beginpath-metodilla pystyt aloittamaan uuden ympyrän. Ilman tätä metodia piirrokseen tulee ympyrät yhdistävä viiva. konteksti.linewidth=10; konteksti.arc(70,100,50,0,2*math.pi,false); konteksti.stroke(); konteksti.beginpath(); konteksti.linewidth=1; konteksti.arc(70,100,20,0,2*math.pi,false); konteksti.stroke(); </script> 14

Belize-käyrä Malli: context.beziercurveto(controlx1, controly1, controlx2, controly2, endx, endy); esim. canvas id="kurvi" width="400" height="200"></canvas> <script> var canvas = document.getelementbyid('kurvi'); var konteksti = canvas.getcontext('2d'); konteksti.beginpath(); konteksti.moveto(150, 110); konteksti.beziercurveto(150, 20, 350, 20, 340, 180); konteksti.strokestyle = 'navy'; konteksti.linewidth = 5; konteksti.stroke(); </script> 15

Täyte Edellisen tehtävän ympyrän tai muun kuvion täytät fill-metodilla: konteksti.arc(70,100,50,0,2*math.pi,false); konteksti.stroke(); konteksti.fillstyle= #fcc ; konteksti.fill(); Liukuvärin saat määrittelemällä liukuvärin seuraavasti: konteksti.arc(70,100,50,0,2*math.pi,false); var liukuvari=konteksti.createradialgradient(70,100,50,70,100,10); liukuvari.addcolorstop(0,"#000"); liukuvari.addcolorstop(1,"#fcc"); konteksti.fillstyle=liukuvari; konteksti.fill(); 16

Liukuväri laatikkoon Linear-muotoisen liukuvärin saat seuraavasti: var liukuvari=konteksti.createlineargradient(70,100,50,70); liukuvari.addcolorstop(0,"#000"); liukuvari.addcolorstop(1,"#fcc"); konteksti.fillstyle=liukuvari; konteksti.fill(); konteksti.fillrect(20,50,50,70); 17

Teksti Voit lisätä tekstiä esim. laatikon sisälle: konteksti.strokerect(20,10,160,130); konteksti.font="26px Arial"; konteksti.filltext("kokeilua",30,50); konteksti.stroketext("kokeilua",30,100); 18

Kuvan lataus konteksti.drawimage(kuva, 10, 50); Esim. <canvas id="kuvat" width="300" height="345"></canvas> <script> var canvas = document.getelementbyid('kuvat'); var konteksti = canvas.getcontext('2d'); var kuva = new Image(); kuva.onload = function() { konteksti.drawimage(kuva, 10, 50); }; kuva.src = 'kuva.jpg'; </script> 19

Animaatio Suoraviivainen liike tehdään javascriptin ajastimen avulla. Alla olevassa esimerkissä setinterval(x,y) käynnistää funktion, jonka nimi on x:n paikalla, y:n ilmoittaman ajan kuluttua (millisekunnin). Ajastimen voi kumota komennolla clearinterval(z), missä z on ajastimen tunnistenimi. <canvas id= "pallo" width="400" height="200"> </canvas> <script> var konteksti = document.getelementbyid("pallo").getcontext("2d"); konteksti.fillstyle='#fcc'; var i=50; var aika; function liike(){ i++; if(i>100) {clearinterval(aika);} konteksti.clearrect(0,0,100,100); konteksti.beginpath(); konteksti.arc(i,50,15,0,2*math.pi,false); konteksti.fill();} aika=setinterval(liike,50); </script> 20

Canvas lähteitä Esimerkkejä: http://www.canvasdemos.com/ Tutoriaaleja: http://www.canvasdemos.com/type/tutorials/ https://developer.mozilla.org/en/canvas_tutorial http://www.html5canvastutorials.com/ Piirtoalustoja: http://www.canvasdraw.comuf.com/ http://mugtug.com/sketchpad/ Esimerkki canvas-kirjastosta: Liekehtivä teksti löytyy osoitteesta: http://www.ponticstar.com/projects/burning-words/ 21