donderdag 10 mei 2012

Video voor iedereen - test case #1

Na een stuk schrijven aan de thesis ben ik begonnen met het implementeren van een videospeler die zowel in HTML5 werkt, alsook kan terugvallen op Flash als HTML5 niet ondersteund is. De speler ziet er in beide gevallen identiek uit, dus de eindgebruiker merkt geen verschil. De videospeler moet ook RSS-playlist ondersteuning hebben.

Om dit geheel te implementeren heb ik gebruik gemaakt van de VideoJS-library. Dit is een API met een standaard skin die gebruikt kan worden om een video af te spelen in HTML5 en Flash. De library ondersteunde echter geen playlist, dus ik heb ik geprobeerd de library uit te breiden met playlist-ondersteuning, bestuurd door twee knoppen (vorige en volgende) in de skin. De RSS-playlist wordt geparsed met behulp van Google's Feed API. Beide methodes (HTML5 en Flash) gebruiken het API met de nieuwe, toegevoegde functionaliteiten.

De uitbreiding was minder eenvoudig als gedacht en het heeft veel tijd gekost om de library te begrijpen omdat deze niet gedocumenteerd is, enkel het bestaande API. Het is me vandaag gelukt om playlist-functionaliteit werkende te krijgen in Google Chrome. In de andere browsers lijkt het updaten van de source momenteel nog een error te veroorzaken.

Een eerste testcase staat online: http://mvcpeer.be/uhbpmedia/demo2/video.html

De videospeler start (in elke browser) met het spelen van de standaardvideo, die in de bron wordt aangegeven. Tevens wordt een (voorlopig standaard) playlist ingelezen. Bij het klikken op de knop volgende/vorige wordt de respectievelijke video uit de playlist ingeladen.

Ik ga nu proberen de bug te verhelpen en enkele andere stukken code aan te passen zodat errorhandling effectiever wordt. Mogelijk is het ook handig dat de videospeler direct de eerste video in de playlist begint te spelen.

1 opmerking:

  1. Bedankt voor de status update. In Firefox 12.0 werkt de playlist functionaliteit inderdaad niet, in Chrome wel. Veel succes met het oplossen van dit probleem!

    Keep me posted!
    Maarten

    BeantwoordenVerwijderen