| HTML |
|---|
| HTMLとそのバリエーション |
| HTML要素と属性 |
| 編集 |
| 文字エンコーディングと言語 |
| ドキュメントとブラウザモデル |
| クライアント側スクリプトとAPI |
| グラフィックスとWeb3Dテクノロジー |
| 比較 |
HTML オーディオは HTML 仕様の主題であり、音声からテキストへの変換を含むオーディオをすべてブラウザー内に組み込みます。
この<audio>要素はサウンド、つまりオーディオストリームを表します。通常、Webページ内で単一のオーディオファイルを再生するために使用され、再生/一時停止/音量コントロールを備えたGUIウィジェットが表示されます。
この<audio>要素には以下の属性があります:音楽
例: [ 1 ]
<オーディオコントロール> < source src = "https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type = "audio/mp4" /> < source src = "https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga" type = "audio/ogg; codecs=vorbis" /> < p >お使いのユーザー エージェントは HTML5 Audio 要素をサポートしていません。</ p > </ audio >PCの場合:
モバイルデバイスの場合:
HTMLオーディオの採用は、HTMLビデオと同様に、フリーフォーマットを支持する派と特許に縛られたフォーマットを支持する派の間で二極化しています。2007年、 W3CはHTML5仕様において、主要なブラウザベンダー全てに受け入れられるフォーマットがないことを理由に、 Vorbisの使用とOgg Theoraの使用の推奨を撤回しました。
AppleとMicrosoftは、 ISO / IECで定義されたフォーマットであるAACと、旧来のMP3をサポートしています。MozillaとOperaは、OggおよびWebMコンテナで、無料かつオープンでロイヤリティフリーのVorbisフォーマットをサポートしており、特許に縛られたMP3とAACが「非フリー」であることが保証されていることを批判しています。Googleはこれまで、すべての一般的なフォーマットをサポートしています。
有限長のAACファイルのほとんどは、MPEG-4コンテナ(.mp4、.m4a)にラップされており、Internet Explorer、Safari、Chromeではネイティブでサポートされており、FirefoxとOperaではOSによってサポートされています。無限長のAACライブストリームのほとんどは、Audio Data Transport Streamコンテナ(.aac、.adts)にラップされており、Chrome、Safari、Firefox、Edgeでサポートされています。[ 2 ] [ 3 ] [ 4 ]
多くのブラウザはWAV Eコンテナ内の非圧縮PCMオーディオもサポートしています。[ 5 ]
2012年には、 IETFによって無料かつオープンでロイヤリティフリーのOpusフォーマットがリリースされ、標準化されました。Mozilla、Google、Opera、Edgeでサポートされています。[ 5 ] [ 6 ] [ 7 ] [ 8 ]
この表は、要素によるオーディオ コーディング形式の現在のサポートを示します<audio>。
| 形式 | 容器 | MIMEタイプ | クロム | インターネットエクスプローラー | 角 | ファイアフォックス | オペラ | サファリ |
|---|---|---|---|---|---|---|---|---|
| PCM | WAV | オーディオ/wav | はい | いいえ | はい | はい、v3.5では | はい、v11.00では | はい、v3.1では |
| MP3 | MP3 | オーディオ/MPEG | はい[ 9 ] | はい、IE9では | はい | はい、71節にあります[ 10 ] | はい[ 9 ] | はい、v3.1では |
| AAC | MP4 | オーディオ/mp4 | はい | はい、IE9では | はい | OSから[ a ] | はい | はい |
| ADTS [ b ] | オーディオ/aacオーディオ/aacp | はい | いいえ | はい | OS [ a ] v45.0より[ 12 ] [ 13 ] | はい | はい | |
| ヴォルビス | オッグ | オーディオ/ogg | はい、v9では | いいえ | v79では[ 14 ]、v17ではWeb Media Extensions [ 15 ] | はい、v3.5では[ 16 ] | はい、v10.50では | Xiph QuickTimeコンポーネント(macOS 10.11以前) |
| ウェブM | オーディオ/WebM | はい | いいえ | v79では[ 14 ]、v17ではWeb Media Extensions [ 15 ] | はい、v4.0では[ 17 ] | はい、v10.60では | いいえ | |
| オーパス | オッグ | オーディオ/ogg | はい、v25 では可能です(Windows の場合は v31 です)。 | いいえ | v79では[ 18 ]、v17ではWeb Media Extensions [ 15 ] | はい、v15.0では[ 19 ] | はい、v14では | いいえ |
| ウェブM | オーディオ/WebM | はい | いいえ | v79では[ 18 ]、v17ではWeb Media Extensions [ 15 ] | はい、v28.0では[ 20 ] | はい | はい、Safari 15以降とmacOS Montereyでは可能です[ 21 ] [ 22 ] | |
| カナダ空軍 | オーディオ/x-caf | いいえ | いいえ | いいえ | いいえ | いいえ | はい、Safari 11とmacOS High Sierraでは可能です | |
| FLAC | FLAC | オーディオ/flac | はい、56節にあります[ 23 ] | いいえ | はい、16節にあります[ 24 ] | はい、51節にあります[ 25 ] | はい | はい、11節では[ 26 ] |
| オッグ | オーディオ/ogg | はい、56節にあります[ 23 ] | いいえ | v79では[ 27 ]、v17ではWeb Media Extensions [ 15 ] | はい、51節にあります[ 25 ] | はい | いいえ |
W3Cが策定したWeb Audio API仕様は、Webアプリケーションにおけるオーディオ処理と合成のための高水準JavaScript APIを規定しています。主要なパラダイムはオーディオルーティンググラフであり、複数のAudioNodeオブジェクトが相互に接続されて全体的なオーディオレンダリングを定義します。実際の処理は主に基盤となる実装(通常は最適化されたアセンブリ/C/C++コード)で行われますが、JavaScriptによる直接的な処理と合成もサポートされています。[ 28 ]
MozillaのFirefoxブラウザは、2010年に実装され2011年にリリースされたバージョン4以降、同様のAudio Data API拡張機能を実装していますが、 Mozillaはこれが非標準であり非推奨であると警告し、代わりにWeb Audio APIを推奨しています。[ 30 ] Audioletなどの 一部のJavaScriptオーディオ処理および合成ライブラリは、両方のAPIをサポートしています。
W3Cオーディオワーキンググループは、 Mozillaが開発したMediaStream Processing API仕様も検討している。[ 31 ]この仕様は、オーディオのミキシングと処理に加えて、HTML要素との同期、オーディオとビデオのストリームのキャプチャ、そのようなメディアストリームのピアツーピアルーティング など、より一般的なメディアストリーミングをカバーしている。[ 32 ]
PCの場合:
モバイルデバイスの場合:
Web Speech APIは、 Webアプリケーションにキーボードを使わない代替入力方法を提供することを目的としています。このAPIを使用することで、開発者はWebアプリケーションにコンピュータのマイクからの音声をテキストに変換する機能を提供できます。録音された音声は音声サーバーに送信され、文字起こしされた後、テキストがユーザーに向けて入力されます。このAPI自体は、基盤となる音声認識の実装に依存せず、サーバーベースの認識器と組み込みの認識器の両方をサポートできます。[ 35 ] HTML Speech Incubatorグループは、統一されたクロスプラットフォームAPIの形でブラウザに音声認識技術を実装することを提案しています。このAPIには以下の両方が含まれています。[ 36 ]
Googleは2011年3月にこの機能をGoogle Chromeに統合しました。[ 37 ]次のようなコードでユーザーが音声でウェブを検索できるようにしました。
< script type = " application / javascript" > function startSearch ( event ) { event.target.form.submit ( ) ; } </ script > < form action = "http://www.google.com/search" > < input type = " search" name = " q" speech required onspeechchange = "startSearch" > </ form >{{cite web}}: CS1 maint: bot: 元のURLステータス不明(リンク){{cite web}}: CS1 maint: bot: 元のURLステータス不明(リンク)