MMT105 Obligatorisk øving 6
- Denne oppgaven går ut på å lage en generell videoavspiller (Web-TV) i PHP:
- Krav til oppgaven:
- Videospilleren skal være HTML-basert. Dvs. den skal være utformet som en nettside hvor videobildet embeddes som en del av den totale siden. I Ståle's arbeidsbok i MMT105 finner du under Uke 7 eksempler på hvordan embedding-koden kan se ut.
- Videospilleren skal være dynamisk (en PHP-side). Dvs. Videokilde (URL) og oppløsning (bredde x høyde) skal angis når videospilleren åpnes; f.eks. i form av GET-variabler. På bakgrunn av disse variablene skal riktig video kjøres, i riktig oppløsning.
- Eksempel: videospiller.php?video=narnia&bredde=480&hoyde=204
- Videospilleren skal kunne spille av både QuickTime- og Windows Media-video. Den skal ha en enkel "browser detection" som velger hvilket format som skal spilles av:
- Hvis videospilleren åpnes av en som bruker Mac (Macintosh datamaskin) skal videoen spilles av som QuickTime, hvis ikke (f.eks. PC) skal videoen spilles av som Windows Media.
- Videospilleren skal basere seg på at videokildene som skal spilles av er tilgjengelig både i QuickTime-format (.mov) og Windows Media-format (.wmv).
- Videokildene i de to formatene skal ha nøyaktig samme navn, bortsett fra filendingen.
- Eksempel: dersom videokilden "narnia" angis kan man gå ut i fra at denne videoen er tilgjengelig både som "narnia.mov" og "narnia.wmv".
- Videospilleren må (forsøke å) finne ut om videospilleren åpnes av en Mac eller noe annet:
- Måten dette kan gjøres på er å sjekke innholdet i den superglobale variabelen
$_SERVER["HTTP_USER_AGENT"]
. Denne variabelen inneholder nemlig en tekststreng som nettleseren sender i fra seg som en del av forespørselen til webtjeneren når den etterspør en ny side. Denne "User-Agent"-tekststrengen er ment å identifisere ovenfor webtjeneren hvilken nettleser den er.
- Denne siden viser en liste over noen nettlesere ("user agents"), og hvordan de identifiserer seg (hvis du går inn på denne siden vil du se hvilken informasjon din nettleser sender i fra seg). Hvis du gransker listen vil du helt sikkert finne en passende tekststreng som du kan søke etter i
$_SERVER["HTTP_USER_AGENT"]
for å finne ut om brukeren benytter en Mac...
- Når du har funnet en deltekst som typisk går igjen på alle Mac-nettlesere kan du bruke f.eks.
strpos()
eller stripos()
for å sjekke om den aktuelle nettleseren er en Mac (if-test).
- Videospilleren skal ha en fast meny med alle aktuelle videoer som kan spilles av.
- Videoene i menyen skal altså være klikkbare, og skal peke til(bake til) samme videospiller; men med riktig video/oppløsning angitt f.eks. som en del av URL-adressen (se eksempel ovenfor).
- For å forenkle administrasjonen av videospilleren bør denne menyen lagres som en egen include-fil (men dette er ikke et absolutt krav i denne oppgaven).
- I og med at en del av de mest brukte metodene for embedding av multimedia ikke følger W3C sine standarder (bruk av <embed> spesielt) er det ikke noe krav om at videospilleren skal validere.
- Det stilles heller ikke noe spesielt krav til layout/grafisk utforming på videospilleren (men det skader ikke om dere bruker litt tid og sjel på dette også).
- En liste over aktuelle videokilder dere kan benytte i videospilleren er/blir tilgjengelig som et eget dokument i innleveringsmappen.
- Oppgaven skal løses av grupper med 3–4 medlemmer.
- Det ferdige PHP-skriptet (f.eks. "videospiller.php") lastes opp i Fronter.
- En peker til en funksjonibel videospiller lastes også opp i Fronter.
- Husk å krysse av for alle deltakerne på gruppa ved levering!
- Innleveringsfrist: Fredag 29. feb. kl. 23:59