chevron-left chevron-right

Piotr Nalepa Frontend, architecture and AI

[HTML5] Jak wstawić pliki audio i video na stronie za pomocą HTML5?

This version
blog.piotrnalepa.pl/2011/01/08/jak-wstawic-pliki-audio-i-video-na-stronie-za-pomoca-html5
Published
Author
, Staff Software Engineer
Category
HTML5
Feedback
Write to me · Post on X

This post is 15 years old. Browsers and tools may have changed since then, so check the code against current documentation before you use it.

W dzisiejszym artykule zamierzam poruszyć problem multimediów na stronach WWW.
Do tej pory, aby wstawić jakikolwiek film lub muzykę na stronę, trzeba było korzystać z technologii Flash. Na szczęście już dzisiaj jest możliwe pominięcie tej technologii na rzecz coraz popularniejszego standardu budowania stron WWW jakim jest język HTML5. Fakt, że na tą chwilę nie wszystkie przeglądarki wspierają ten język, ale nawet i na starszych przeglądarkach jest możliwe otwieranie stron zbudowanych w HTML posiłkując się specjalnymi skryptami JS.

Ten artykuł nie będzie dotyczył problemu wspierania HTML5 przez wszystkie przeglądarki, ale będzie dotyczył pokazywania możliwości języka HTML5 jakie daje on na tą chwilę, a w szczególności wstawianie plików multimedialnych na stronach WWW.Mówi się, że HTML5 ma wyprzeć technologię Flash. Lecz ja jestem zdania, że HTML5 pozwoli na wstawianie prostych nieskomplikowanych elementów takich jak najzwyklejsze odtwarzanie video czy audio. Podczas gdy, technologia Flash będzie pozwalała na budowanie pełnoprawnych aplikacji internetowych odpowiadających za efektowne zarządzanie tymi multimediami.
To tyle tytułem wstępu (rozbudowanego, ale jednak). Teraz pora przejść do tego co najważniejsze czyli do prezentacji kodu HTML5, który będzie odpowiadał za wyżej wymienione multimedia.

Section 1Pliki audio

Pliki audio na naszej stronie możemy wstawić za pomocą następującego kodu:

Example 1HTML
<audio controls>
	<source src="audio.mp3" />
	<source src="audio.ogg" />
</audio>

Powyższy kod można wzbogacić o dopisanie następujących atrybutów:

  • controls - wyświetlanie kontrolek do odtwarzania plików audio
  • autobuffer - buforowanie pliku audio
  • preload - ładowanie pliku audio zaraz po załadowaniu się strony
  • autoplay - odtwarzanie pliku audio zaraz po załadowaniu się strony www
  • loop - zapętlanie utworu audio

Należy też wspomnieć o tym, że różne przeglądarki wspierają różne formaty dźwięku:

Przeglądarka Ogg MP3 WAV
Firefox 3.6+ + - +
Safari 5+ - + +
Chrome 6+ + + -
Opera 10.5+ + - +
Internet Explorer 9+ - + +

Z powyższego zestawienia wyraźnie widać, że najlepszym rozwiązaniem jest stosowanie conajmniej dwóch rodzajów plików audio, aby można było je otworzyć na stronie WWW przez jak największą liczbę przeglądarek.

Section 2Pliki video

Zasada wstawiania plików video na stronę jest podobna jak w przypadku plików audio:

Example 2HTML
<video width="640" height="480" controls>
	<source src="video.mp4" type="video/mp4; codecs='avc1.42E01E, mp4a.40.2'">
	</source><source src="video.ogv" type="video/ogg; codecs='theora, vorbis'">
</source></video>

Tak samo jak w przypadku audio, tak i video można wzbogacić o odpowiednie atrybuty:

  • autoplay - automatyczne odtwarzanie plików video zaraz po ich załadowaniu
  • controls - dodanie kontrolek odtwarzania plików video
  • loop - zapętlanie pliku video
  • preload - wczytywanie pliku video po załadowaniu się strony

Pewnie teraz ciekawi Ciebie, jak wygląda sytuacja pomiędzy formatami video a przeglądarkami? Wygląda ona następująco:

Przeglądarka Theora/Vorbis/Ogg H.264/AAC/MP4 WebM
Firefox 3.5+ + - -
Safari 3+ - + -
Chrome 5+ + + +
Opera 10.5+ + - +
Internet Explorer 9+ - + -

Jak widać w powyższym zestawieniu Safari i Internet Explorer korzystają tylko z jednego formatu (którego licencja jest płatna - trzeba wykupić licencję na dekodowanie materiałów na naszej stronie), a najbardziej przyjazną przeglądarką dla filmów video w HTML5 jest Google Chrome.

Share
Feedback

About the author

Staff Software Engineer

I've been writing this blog since 2009 and building for the web professionally for 14 years. Today I lead the frontend of the Cosmos platform at Bishop Fox, where I've been since day one of the project. Before that I worked at OLX, KUDO, Auto1 and eZ Systems. Here I write about what I've learned in practice: JavaScript, TypeScript, React, CSS and frontend architecture. I've also spoken at conferences across Poland and Europe. Got a question or an idea for a post? Let me know!