Mit HTML5 ist es ja nicht mehr nötig, für Video und Audio auf Flash zurückzugreifen. Moderne Browser können diese Inhalte nativ abspielen. Die Quelldatei muss natürlich HTML5 sein, also in der Dokumenttyp-Deklaration muss stehen <!doctype html>
und nicht etwa <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
oder so etwas.
Ich wurde kürzlich gefragt, wie man HTML5-Audio-Dateien denn nun ohne Plug-in ins CMS oder Blogsystem einbindet.
Zunächst muss man sagen, dass man die Audio-Datei in verschieden kodierten Formaten anbieten sollte, damit sie in möglichst vielen Browsern abgespielt werden kann. Die Hersteller haben sich noch nicht auf einen Standard einigen können. Mit MP3 oder besser AAC und Ogg Vorbis deckt man die meisten Browser ab. WAV als unkomprimiertes Format eignet sich nicht gut fürs Web aufgrund der gewaltigen Dateigröße und damit höheren Ladezeit. Bei Wikpedia findet man einen guten Artikel über HTML5-Audio (siehe Linkliste unten) mit einer Auflistung der jeweiligen Browser-Unterstützung.
Der MP3-Encoder vom Fraunhofer-Institut ist lizenzkostenpflichtig, daher verwendet man besser LAME. Dieser kann zu vielen Audio-Konvertierungs-Programmen als Plug-in eingebunden werden. Oder man steigt auf AAC um, das für die Verbreitung von damit kodierten Audiodateien keine Lizenzkosten verlangt. Die Rechtslage ist hier klarer als bei MP3. Und die Kompression ist besser bei einer sehr guten Klangqualität.
Zum Encodieren/Konvertieren benutze ich den schnellen fre:ac. Eine Alternative ist der Free Audio Converter von Freemake. Beide sind nur für Windows® erhältlich.
Die konvertierten Dateien lädt man per FTP auf den Server hoch. Der Quellcode zum Einbinden lautet wie folgt (das Beispiel zeigt einen angelegten Ordner »audio« in einem WordPress-Blog):
<audio controls>
<source src="/wp-content/audio/audiodatei.oga">
<source src="/wp-content/audio/audiodatei.aac">
<a href="/wp-content/audio/audiodatei.mp3" title="Audiodatei">»Audiodatei« herunterladen.</a>
</audio>
controls
blendet die Steuerleiste ein, autoplay
würde das Abspielen automatisch starten lassen und mit loop
lässt man den Abspielvorgang ständig wiederholen. Mit source
gibt man die Quelle der Audiodatei an, und mit dem Link a href
kann man einen Download anbieten, der eingeblendet wird, wenn der Webbrowser kein HTML5-Audio kennt. Möglich wäre natürlich auch ein reiner Hinweistext.
Ja, und dann sollte man noch sicherstellen, dass der eigene Webserver die Dateien auch wirklich ausliefern kann. Dafür gibt man die MIME-Typen per .htaccess-Datei (im Fall des am weitesten verbreiteten HTTP-Servers Apache) bekannt:
AddType audio/aac .aac
AddType audio/mp4 .mp4 .m4a
AddType audio/mpeg .mp1 .mp2 .mp3 .mpg .mpeg
AddType audio/ogg .oga .ogg
AddType audio/wav .wav
AddType audio/webm .webm
Und, wenn wir schon mal dabei sind, gleich noch für Video:
AddType video/mp4 .mp4 .m4v
AddType video/ogg .ogv
AddType video/webm .webm
Zu bedenken ist: sehr alte Browser und alle alten Internet-Explorer (Version 8 und älter) können die so eingebundene Audiodatei nicht abspielen. Dafür müsste man doch wieder Flash anbieten. Eine andere Möglichkeit wäre noch, den Seitenbesuchern, die einen alten Internet Explorer verwenden, Google Chrome Frame anzubieten. Dies zu erläutern würde aber an dieser Stelle zu weit führen.
Quellen:
AAC
HTML5-Audio
LAME
fre:ac free audio converter
Freemake Free Audio Converter
Google Chrome Frame
HTML5 Audio — The State of Play
HTML5 Audio & Video MIME Types
und das Buch HTML5 von Peter Kröner, Open Source Press