HTML5ビデオとオーディオタグの詳細な説明:レスポンシブビデオプレーヤーの構築
この記事は、Alexis Goldstein、Louis Lazaris、Estelle Weylが共著した本「HTML5&CSS3 for the Real World、第2版」から抜粋しています。この本は世界中の主要な書店で入手できます。また、ここで電子書籍バージョンを購入することもできます。コアポイント
WebページにHTML5ビデオを含める最も簡単な方法は次のとおりです。
前のセクションで述べたように、これは限られたブラウザーでのみ動作します。ただし、これはHTML5ビデオをある程度機能させるための最小のコードです。理想的な世界では、IMG要素のようにどこでも機能するはずですが、しばらく時間がかかります。IMG要素と同様に、ビデオ要素には幅と高さの属性を含めることができます:
<video src="example.webm"></video>
サイズはマーカーに設定できますが、これはビデオのアスペクト比には影響しません。たとえば、前の例のビデオが実際に375×240で、マーキングが表示されている場合、ビデオは指定された280ピクセルスペース内に垂直に中心になります。これにより、ビデオが過剰に伸びて歪んでいるように見えません。
幅と高さの属性は整数のみを受け入れ、その値は常にピクセルです。もちろん、これらの値はスクリプトまたはCSSによって上書きすることができます。
<video height="280" src="example.webm" width="375"></video>
ネイティブコントロールを有効にします
埋め込まれたビデオは、ユーザーがボリュームを再生、一時停止、停止、早送り、または調整できるようにするために不可欠です。 HTML5のビデオ要素には、これを行うことができるコントロール属性が含まれています。
各ブラウザは、組み込みのビデオコントロールの外観を担当します。図5.1および図5.2は、ブラウザ全体のこれらのコントロールの外観の違いを示しています。
図5.2 firefox
図5.3インターネットエクスプローラー
図5.4オペラのネイティブビデオコントロール
たとえば、関連するページに1つのビデオのみが含まれている場合 - つまり、ユーザーは特定のビデオを見るためだけにページへのリンクをクリックします - ビデオのサイズに応じて、周囲のコンテンツに応じて自動的に再生できます、プラットフォームと視聴者を表示します。
以下は、このプロパティの使用方法です
警告:モバイルブラウザはAutoplayを無視します
多くの(すべてではないにしても)モバイルブラウザはAutoplay属性を無視しているため、ユーザーが再生ボタンを押した後、ビデオは常に再生を開始します。これは、モバイル帯域幅が通常限られており、高価であることを考えると合理的です。
<video src="example.webm"></video>
ブールループプロパティを使用する前に2回考える必要がある別の利用可能なプロパティ。繰り返しますが、理解は簡単です。仕様によれば、このプロパティは、ブラウザに「リソースの終わりに到達したときにリソースの開始に戻る」ように指示します。
オートプレイと無限ループ!ネイティブコントロールを削除するだけで、最悪のトリオを入手できます。
もちろん、オートプレイのように、ループも便利です。たとえば、ブラウザベースのゲームでは、ページが開かれたときにアンビエントサウンドと音楽を継続的に再生する必要があります。PRELOADプロパティ
<video height="280" src="example.webm" width="375"></video>
前述の2つのプロパティと比較して、多くの場合、プリロードプロパティは非常に便利です。プリロードプロパティは、3つの値のいずれかを受け入れます
Preloadプロパティには、省略された場合、これらの3つの値のうちどれがデフォルトの状態であるかを決定する場合、デフォルト値が定義されていません。これは、ビデオおよび/またはメタデータを、実際の副作用なしに、適切に接続されたデスクトップブラウザで自動的にプリロードできるため、理にかなっていますが、多くのモバイルユーザーが帯域幅が限られており、ビデオをダウンロードするかどうかを選択します。
ウェブ上でビデオを視聴しようとすると、通常、ビデオの単一のフレームが表示され、コンテンツの予告編が提供されます。ポスター属性により、このようなトレーラーを簡単に選択できます。このプロパティはSRCに似ており、URLを介してサーバー上の画像ファイルを指します。
以下は、ポスター属性を備えたビデオ要素です:
<video src="example.webm"></video>
ポスター属性が省略されている場合、デフォルトの「ポスター」がビデオの最初のフレームになり、ロード後すぐに表示されます。
Muted属性(ブールタイプ)は、ビデオ要素のオーディオトラックのデフォルトの状態を制御します。
このプロパティを追加すると、ビデオのオーディオトラックがデフォルトでミュートされ、ユーザーの設定が上書きされる場合があります。これは、要素のデフォルトの状態のみを制御します。これは、コントロールまたはJavaScriptと対話するユーザーによって変更される可能性があります。ビデオ要素に追加します:
<video height="280" src="example.webm" width="375"></video>
複数のビデオ形式のサポートを追加
完全なブラウザのサポートを実現するには、ソース要素を宣言する方法を次に示します。
ソース要素(奇妙なことに)には、ビデオファイルの場所を指定するSRC属性があります。また、要求されたリソースのコンテナ形式を指定する型属性も受け入れます。この後続のプロパティにより、ブラウザは関連するファイルを再生できるかどうかを判断できるため、サポートされていない形式を不必要にダウンロードできません。
また、<video src="example.webm" width="375" height="280" controls></video>
<video src="example.webm"></video>
型属性の構文が、コンテナ値とコーデック値に合うようにわずかに変更されていることに気付くでしょう。値を中心に使用される二重引用符は単一の引用符に変更され、ネストされた二重引用符の別のセットがコーデックで特別に使用されています。
これは一見して少し混乱するかもしれませんが、ほとんどの場合、動画をエンコードする方法(この章で後で説明します)をエンコードする方法ができたら、値をコピーして貼り付けるだけです。指定されたファイルの正しい値を定義して、ブラウザがどのファイル(もしあれば)を再生できるかを確認できるようにすることが重要です。
Webサイトのターゲットオーディエンスによっては、完全なブラウザサポートを取得するために3つのソース要素を必要としない場合があります。ビデオおよびオーディオコーデックとコンテナのサポートは素晴らしいです。1つまたは2つの組み合わせしか必要ないかもしれません。使用するフォーマットを決定するために、使用できますか?最新のブラウザサポート情報を確認してください。
3つのソース要素はビデオ要素の子要素として配置され、使用されるブラウザは認識するコンテナ/コーデック形式を選択します - 必要なリソースのみをダウンロードし、他のリソースを無視します。 3つのファイル形式を宣言した後、コードは次のようになりました。
<video height="280" src="example.webm" width="375"></video>
HTML5ビデオをサポートしていないブラウザの場合はどうすればよいですか?
エレガントなダウングレードの原則を維持するために、ビデオ要素は、古いブラウザーが他の方法でビデオにアクセスできるように設計されています。ビデオ要素を認識しないブラウザは、単にそれとそのソースチャイルド要素を無視します。ただし、ビデオ要素にブラウザが有効なHTMLとして認識するコンテンツが含まれている場合、コンテンツを読み取り、表示します。
サポートされていないブラウザに何を提供できますか? Adobeによると、10億人以上のデスクトップユーザーがシステムにFlash Playerプラグインをインストールしています。また、これらのフラッシュプラグインインスタンスのほとんどはバージョン9以下であり、MPEG-4ビデオコンテナ形式をサポートしています。これを念頭に置いて、Internet Explorer 8以前(およびHTML5ビデオをサポートしていない他の古いブラウザー)がビデオを再生できるようにするために、埋め込まれたフラッシュビデオをフォールバックとして宣言できます。これは、フラッシュフォールバックコードを含む
html5 heraldのビデオの完全なコードです:>
この新しく追加されたコードがどのように機能するかを詳細に説明します(結局フラッシュに関する本ではありません!)が、このタグの追加について注意すべきことがいくつかあります。ここで言及する最後のポイントは、追加のソース要素と同様に、あなたのウェブサイトがサポートされていないHTML5ビデオブラウザーからの訪問者を持たないかもしれないか、古いブラウザを使用して少数のユーザーを気にしないかもしれないということです。どちらの場合も、フラッシュフォールバックコンテンツを簡単に省略して、コードを簡素化できます。
HTML5ビデオおよびオーディオタグのFAQ
タグと、オートプレイ、コントロール、ループ、ミュート、ソースなどのこれらの要素の動作を制御できるプロパティで構成されています。 <video></video>
<audio></audio>
なぜ「HTML5ビデオファイルが見つからない」エラーを取得するのですか?
<video></video>
私のHTML5ビデオにコメントを追加する方法は?
「HTML5ビデオファイルが見つからない」エラーを解決します。エラーの原因を識別して解決します。ファイルパスが正しくない場合は、修正してください。ファイルが削除されている場合は、復元するか、新しいファイルに置き換えます。サーバーの問題がある場合は、サーバー管理者またはホスティングプロバイダーにお問い合わせください。場合によっては、ビデオファイルが破損する場合があります。その場合、ファイルを修理または交換する必要があります。
HTML5ビデオがFirefoxで再生されない場合、さまざまな理由が原因である可能性があります。 Firefoxは、<video></video>
私のHTML5ビデオにコントロールを追加する方法は?
タグにコントロール属性を含めることにより、HTML5ビデオのコントロールを追加できます。このプロパティは、再生/一時停止、ボリューム、フルスクリーンボタンなど、ビデオにデフォルトコントロールのセットを追加します。ユーザーがビデオの上に浮かぶと、コントロールが表示されます。
<video></video>
HTML5ビデオを自動的に再生できますか?
<video></video>
私のHTML5ビデオをループする方法は?
<video></video>
HTML5ビデオで複数のソースを再生できますか?
タグを含めることができます。ブラウザは、再生できる最初のソースを使用します。これにより、最大限の互換性を得るために、さまざまなブラウザに複数のビデオ形式を提供できます。 <video></video>
以上がhtml5ビデオとオーディオ:マークアップ - シットポイントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。