vrijdag 6 november 2015

Audio element aansturen met javascript

Van een van mijn studenten bij de LOI kreeg ik deze vraag. Het doel is om bij spelletjes geluid te maken, dus er moet een functie komen: playSound, die op ieder gewenst moment (bijvoorbeeld bij een botsing) een geluid afspeelt.

Er zijn meerdere manieren om dit te doen, maar de eenvoudigste en best ondersteunde door de meeste browsers is het audio-element.
Het is eenvoudig, maar toch ook weer niet. Het audio-element wordt vaak wel ondersteund, maar niet alle formaten audio.
In praktijk is gebleken dat als je 44,1 Mhz stereo audio aanhoudt en dan deze in mp3 EN ogg aanlevert, dat het geluid meestal wel afspeelt.

Zie dit voorbeeld en druk op de knoppen. Dud speelt in veel browsers (maar niet in een wat oudere Firefox), interesting in de meeste. Safari op de Mac heeft in mijn ervaring de slechtste ondersteuning.
Hieronder zie je hoe het eigenlijk werkt:
Er zijn eigenlijk, twee audio elementen, met controls uit (dus je ziet ze niet).
Deze worden door de javascript functie PlaySound ingeschakeld.

Geen opmerkingen:

Een reactie posten