Zvuk HTML5 - HTML5 audio
HTML |
---|
Srovnání |
Zvuk HTML5 je předmětem HTML5 specifikace, zahrnující zvukový vstup, přehrávání a syntéza, stejně jako řeč na text v prohlížeči.
Prvek
Prvek
- globální atributy (accesskey; class; contenteditable; contextmenu; dir; draggable; dropzone; hidden; id; lang; spellcheck; style; tabindex; title; translate)
- autoplay = "autoplay" nebo "" (prázdný řetězec) nebo prázdný
Dává pokyn User-Agentovi, aby automaticky zahájil přehrávání zvukového streamu, jakmile to udělá, bez zastavení. - preload = "none" nebo "metadata" nebo "auto" nebo "" (prázdný řetězec) nebo prázdné
Představuje nápovědu pro User-Agent o tom, zda je optimistické stahování samotného audiostreamu nebo jeho metadat považováno za užitečné.- „none“: Upozorní agenta uživatele, že se od uživatele neočekává, že bude potřebovat zvukový stream, nebo že je žádoucí minimalizovat zbytečný provoz.
- "metadata": Upozorní agenta User-Agent, že se od uživatele neočekává, že bude potřebovat zvukový stream, ale je žádoucí načíst jeho metadata (trvání atd.).
- "auto": Tipy pro User-Agenta, že optimistické stahování celého audio streamu je považováno za žádoucí.
- control = "controls" nebo "" (prázdný řetězec) nebo prázdný
Dává pokyn User-Agentovi, aby vystavil uživatelské rozhraní pro ovládání přehrávání zvukového streamu. - loop = "loop" nebo "" (prázdný řetězec) nebo prázdný
Dává pokyn User-Agentovi, aby po dosažení konce vyhledal zpět na začátku zvukového streamu. - mediagroup = řetězec
Dává pokyn User-Agentovi, aby propojil více video nebo audio streamů. - muted = "muted" nebo "" (prázdný řetězec) nebo prázdný
Představuje výchozí stav zvukového streamu, což potenciálně přepíše uživatelské preference. - src = neprázdná [URL] potenciálně obklopená mezerami
URL zvukového streamu.
Příklad:[2]
<Zvuk řízení> <zdroj src=„https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4“ typ=„audio / mp4“ /> <zdroj src=„https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga“ typ=„audio / ogg; kodeky = vorbis“ /> <p>Váš uživatelský agent nepodporuje zvukový prvek HTML5.</p></Zvuk>
Podpora prohlížečů
Na PC:
Na mobilních zařízeních:
- Prohlížeč Android 2.3
- Blackberry Browser
- Google Chrome
- Internet Explorer Mobile 9
- Safari 4[3]
- Firefox
- Opera Mobile 11
Podporované formáty kódování zvuku
Přijetí zvuku HTML5, stejně jako u Video ve formátu HTML5, se stala polarizovanou mezi zastánci volný, uvolnit a patentově zatíženo formáty. V roce 2007 doporučení použít Vorbis byl zatažené ze specifikace podle W3C spolu s tím použít Ogg Theora s odvoláním na nedostatek formátu akceptovaného všemi hlavními prodejci prohlížečů.
Jablko a Microsoft podporovat ISO /IEC -definována formáty AAC a starší MP3. Mozilla a Opera podporovat zdarma a otevřeno, bez licenčních poplatků Vorbis formát v Ogg a WebM kontejnery a kritizují patentovou povahu MP3 a AAC, u nichž je zaručeno, že jsou „nesvobodné“. Google dosud poskytoval podporu pro všechny běžné formáty.
Většina souborů AAC s konečnou délkou je zabalena do kontejneru MPEG-4 (.mp4, .m4a), který je nativně podporován v prohlížečích Internet Explorer, Safari a Chrome a OS podporuje ve Firefoxu a Opera.[4] Většina živých streamů AAC s nekonečnou délkou je zabalena do kontejneru Audio Data Transport Stream (.aac, .adts), který podporuje Chrome, Safari, Firefox a Edge.[5][6][7]
Mnoho prohlížečů podporuje také nekomprimované PCM audio v a WAV Kontejner E.[8]
V roce 2012 bezplatná a otevřená bez licenčních poplatků Opus formát byl vydán a standardizován IETF. Podporují jej Mozilla, Google, Opera a Edge.[9][10][11][12]
Tato tabulka dokumentuje aktuální podporu pro zvukové kódovací formáty podle <audio>
živel.
Formát | Kontejner | Typ MIME | Chrome | internet Explorer | Okraj | Firefox | Opera | Safari |
---|---|---|---|---|---|---|---|---|
PCM | WAV | audio / wav | Ano | Ne | Ano | Ano, ve verzi 3.5 | Ano, ve v11.00 | Ano, ve verzi 3.1 |
MP3 | MP3 | audio / mpeg | Ano[13] | Ano, v IE9 | Ano | Ano, v v71[14] | Ano[13] | Ano, ve verzi 3.1 |
AAC | MP4 | audio / mp4 | Ano | Ano, v IE9 | Ano | Z OS[A] | Ano | Ano |
ADTS[b] | audio / aac audio / aacp | Ano | Ne | Ano | Z OS[A] ve verzi 45.0 | Ano | Ano | |
Vorbis | Ogg | audio / ogg | Ano, ve verzi 9 | Ne | V v79[16] Ve verzi 17, s rozšířeními webových médií[17] | Ano, ve verzi 3.5 | Ano, ve verzi 10.50 | S Komponenty Xiph QuickTime (macOS 10.11 a starší) |
WebM | audio / webm | Ano | Ne | V v79[16] Ve verzi 17, s rozšířeními webových médií[17] | Ano, ve verzi 4.0 | Ano, ve verzi 10.60 | Ne | |
Opus | Ogg | audio / ogg | Ano, ve verzi 25 (ve verzi 31 pro Windows) | Ne | V v79[18] Ve verzi 17, s rozšířeními webových médií[17] | Ano, ve verzi 15.0 | Ano, ve verzi 14 | Ne |
WebM | audio / webm | Ano | Ne | V v79[18] Ve verzi 17, s rozšířeními webových médií[17] | Ano, ve verzi 28.0[19] | Ano | Ne | |
CAF | audio / x-caf | Ne | Ne | Ne | Ne | Ne | Ano, v Safari 11 a macOS High Sierra | |
FLAC | FLAC | audio / flac | Ano, ve verzi 56[20] | Ne | Ano, ve verzi 16[21] | Ano, ve verzi 51[22] | Ano | Ano, ve verzi 11[23] |
Ogg | audio / ogg | Ano, ve verzi 56[20] | Ne | V v79[24] Ve verzi 17, s rozšířeními webových médií[17] | Ano, ve verzi 51[22] | Ano | Ne |
Web Audio API a MediaStream Processing API
Specifikace rozhraní Web Audio API vyvinutá společností W3C popisuje rozhraní API Java na vysoké úrovni pro zpracování a syntézu zvuku ve webových aplikacích. Primárním paradigmatem je graf směrování zvuku, kde je několik objektů AudioNode spojeno dohromady, aby definovalo celkové vykreslení zvuku. Samotné zpracování bude primárně probíhat v podkladové implementaci (obvykle optimalizovaný kód Assembly / C / C ++), ale je také podporováno přímé zpracování a syntéza JavaScriptu.[25]
Prohlížeč Mozilla Firefox implementuje podobné rozšíření Audio Data API od verze 4 implementované v roce 2010 [26] a vydáno v roce 2011, ale Mozilla varuje, že je nestandardní a zastaralé, a místo toho doporučuje rozhraní Web Audio API.[27]Některé knihovny zpracování zvuku a syntézy JavaScriptu, jako je Audiolet podporovat obě API.
The Pracovní skupina W3C Audio zvažuje také MediaStream Processing API specifikace vyvinutá Mozilla.[28]Kromě míchání a zpracování zvuku pokrývá obecnější streamování médií, včetně synchronizace s prvky HTML, zachycení zvukových a video streamů a směrování peer-to-peer takových mediálních proudů.[29]
Podpora prohlížečů
Na PC:
- Google Chrome 10[30] (Ve výchozím nastavení povoleno od 14[31])
- Firefox 23 (ve výchozím nastavení povoleno od 25)
- Opera 15
- Safari 6
- Microsoft Edge 12
Na mobilních zařízeních:
- Google Chrome pro Android 28 (ve výchozím nastavení povoleno od 29)
- Safari 6 (Má omezení použití (ztlumeno, pokud uživatel nezavolal))
- Firefox 23 (ve výchozím nastavení povoleno od 25)
- Tizen
Web Speech API
The Web Speech API si klade za cíl poskytnout alternativní metodu zadávání pro webové aplikace (bez použití klávesnice). S tímto API mohou vývojáři dát webovým aplikacím možnost přepsat hlas na text z mikrofonu počítače. Zaznamenaný zvuk je odeslán na řečové servery k přepisu, po kterém je text zadán uživateli. Samotné API je agnostické vůči základní implementaci rozpoznávání řeči a může podporovat jak serverové, tak i integrované rozpoznávače.[32]The Skupina inkubátoru řeči HTML navrhla implementaci audio-řečové technologie do prohlížečů ve formě jednotných API pro různé platformy. API obsahuje obojí:[33]
- Speech Input API
- Text to Speech API
Google integroval tuto funkci do Google Chrome v březnu 2011.[34] Umožněte svým uživatelům prohledávat web pomocí hlasu pomocí kódu, jako je:
<skript typ=„application / javascript“> funkce spustit vyhledávání(událost) { událost.cílová.formulář.Předložit(); }</skript><formulář akce=„http://www.google.com/search“> <vstup typ="Vyhledávání" název=„q“ mluvený projev Požadované onspeechchange="startSearch"></formulář>
Podpora prohlížečů
- Safari 6.1 a vyšší [ČÁSTEČNÉ: pouze syntéza řeči; bez uznání]
- Google Chrome 25 a více
- Firefox Desktop 44.0 a vyšší (Linux a Mac) / 45.0 a vyšší (Windows) [ČÁSTEČNÉ: pouze syntéza řeči; žádné uznání; v současné době vyžaduje ruční změnu možnosti „media.webspeech.recognition.enable“ about: config na „true“][35][36][37]
Viz také
Poznámky
- ^ A b Kodek AAC nemá nativní podporu z důvodu licencování. Dekódování zvukových souborů vyžaduje, aby hostitelský OS poskytl kompatibilní knihovnu.[15]
- ^ Soubor MPEG-4 obsahuje záhlaví, které obsahuje metadata následované „stopami“, které mohou zahrnovat video i zvuková data, například Video kódované H.264 a Audio kódované AAC. Naproti tomu ADTS je streamovací formát skládající se z řady snímků, přičemž každý snímek má záhlaví následované daty AAC.[6]
Reference
- ^ „Zvukový prvek HTML5 - W3C“. Archivovány od originál dne 06.06.2013. Citováno 2013-07-02.
- ^ https://www.w3.org/wiki/HTML/Elements/audio
- ^ A b O HTML5 Audio and Video - Safari HTML5 Audio and Video Guide
- ^ Je možné tento stream přehrát pomocí HTML5 / javascript?
- ^ Kontejner MP4 · Vydání # 95 · karlheyes / icecast-kh · GitHub
- ^ A b https://developer.apple.com/library/ios/technotes/tn2236/_index.html#//apple_ref/doc/uid/DTS40008748-CH1-SECTION5
- ^ https://bugzilla.mozilla.org/show_bug.cgi?id=1224887
- ^ https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements
- ^ https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements#Ogg_Opus
- ^ https://www.xiph.org/press/2012/rfc-6716/
- ^ https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/
- ^ „Podpora WebM, VP9 a Opus v Microsoft Edge - Blog pro Microsoft Edge Dev Blog pro Microsoft Edge Dev“. blogs.windows.com. Citováno 2017-03-22.
- ^ A b „Enable mp3 support in Chromium“. Google. Citováno 2018-05-01.
- ^ „Poznámky k verzi Firefoxu 71.0“. Mozilla. 3. prosince 2019.
- ^ „Průvodce typem a formátem médií: obrazový, zvukový a video obsah“. Mozilla Developer Network. Mozilla. Citováno 2019-12-06.
- ^ A b https://developer.microsoft.com/en-us/microsoft-edge/status/vorbisaudiocodec/
- ^ A b C d E „Představujeme balíček Web Media Extension Package s podporou OGG Vorbis a Theora pro Microsoft Edge“. Blog Microsoft Edge Dev. Microsoft. 5. prosince 2017.
- ^ A b https://developer.microsoft.com/en-us/microsoft-edge/status/opusaudioplayback/
- ^ https://www.mozilla.org/en-US/firefox/28.0/releasenotes/
- ^ A b „Podpora kodeků FLAC pro . Stav platformy Chrome. Citováno 2016-12-27.
- ^ https://developer.microsoft.com/en-us/microsoft-edge/status/flacaudiocodec/
- ^ A b „Firefox 51 pro vývojáře“. Mozilla Developer Network. Citováno 2016-12-27.
- ^ Chaim Gartenberg (6. června 2017). „Apple údajně přidává podporu pro FLAC bezztrátový zvuk v iOS 11“. The Verge.
- ^ https://developer.microsoft.com/en-us/microsoft-edge/status/oggcontainer/
- ^ Chris Rogers (2012-03-15). „Web Audio API“. W3C. Archivovány od originál dne 15. 3. 2012. Citováno 2012-07-04.
- ^ „Audio Data API“.
- ^ „Představujeme rozšíření Audio API“. Mozilla Developer Network. Mozilla. 2012-03-05. Archivovány od originál dne 2014-01-16. Citováno 2012-07-04.
- ^ „Audio Processing API“. W3C. 2011-12-15. Archivovány od originál dne 15. 12. 2011. Citováno 2012-07-04.
- ^ Robert O'Callahan (2012-05-31). „MediaStream Processing API“. W3C. Citováno 2012-07-04.
- ^ Web Audio API je nyní k dispozici v prohlížeči Chrome
- ^ Scott Gilbertson (19. 9. 2011). „Chrome 14 přidává lepší zvuk, podpora„ nativního klienta ““. Webmonkey. Kabelové. Citováno 2012-07-04.
- ^ „Koncept API“. Citováno 28. ledna 2012.
- ^ „HTML5 Speech API“. Citováno 28. ledna 2012.
- ^ „Mluvení s počítačem“. Citováno 28. ledna 2012.
- ^ „Firefox 44 pro vývojáře - Mozilla | MDN“. Citováno 9. března 2016.
- ^ „Firefox - Notes (45.0) - Mozilla“. Citováno 9. března 2016.
- ^ „Web Speech API - Web APIs | MDN“. Citováno 9. března 2016.