目次
自动播放:
其他:
ホームページ ウェブフロントエンド H5 チュートリアル H5動画再生ライブラリvideo.jsの詳細説明

H5動画再生ライブラリvideo.jsの詳細説明

Mar 16, 2018 pm 02:26 PM
html5 javascript

今回は、H5 ビデオ再生ライブラリ video.js について詳しく説明します。H5 ビデオ再生ライブラリ video.js を使用する際の 注意事項 は何ですか?実際の事例を見てみましょう。

video.js は、非常に人気のある

html5 ビデオプレーヤー プラグインです。モバイル端末でビデオを再生するのに非常に適しています (WeChat Web ページなど)。強力な機能があり、フラッシュへのダウングレードをサポートし、IE8 と互換性があります。公式 Web サイト: http://videojs.com/ git&demo: http://files.cnblogs.com/files/stoneniqiu/video-js-5.11.4.zip

デフォルトの例を見てください:

<head>
    <title>Video.js | HTML5 Video Player</title>
    <link href="http://vjs.zencdn.net/5.0.2/video-js.css" rel="stylesheet">
    <script src="http://vjs.zencdn.net/ie8/1.1.0/videojs-ie8.min.js"></script>
    <script src="http://vjs.zencdn.net/5.0.2/video.js"></script></head><body>
  <video id="example_video_1" class="video-js vjs-default-skin" controls preload="none" width="640" height="264" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}">
    <source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4">
    <source src="http://vjs.zencdn.net/v/oceans.webm" type="video/webm">
    <source src="http://vjs.zencdn.net/v/oceans.ogv" type="video/ogg">
    <track kind="captions" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
    <!-- Tracks need an ending tag thanks to IE9 -->
    <track kind="subtitles" src="../shared/example-captions.vtt" srclang="en" label="English"></track>
    <!-- Tracks need an ending tag thanks to IE9 -->
    <p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a></p>
  </video></body>
ログイン後にコピー
コードを表示

controls はコントロール バーを表し、prload: プリロード、poster は最初に表示される画像を表します。 data-set は、json を使用していくつかのパラメーターを設定することをサポートしています。言うまでもなく、ソースとは字幕を指します。

このように出てきますが、実際には他にもニーズがあります。

字幕なし:

デモの alt ファイルに novtt の js を適用する必要があります。このようにすると、文字の選択はビデオ コントロール バーに表示されなくなります。もちろん、ページ内に track 要素は必要なくなります。

<link href="~/js/video-js-5.11.4/alt/video-js-cdn.min.css" rel="stylesheet" /><script src="~/js/video-js-5.11.4/alt/video.novtt.min.js"></script>
ログイン後にコピー
適応幅と高さ:

CSSを使用して自分で設定し始めましたが、効果がないことがわかりました。ビデオ要素は通常の要素とは異なり、内部要素の比率を設定することで応答性の高い幅と高さを実現する必要があります。 video.js には 2 つのメソッドが用意されています。

js: 流体を true に設定します。

 var player = videojs('video', { fluid: true }, function () {
           console.log('Good to go!');           this.play(); // if you don't trust autoplay for some reason  })
ログイン後にコピー
ただし、これにはビデオ要素の開始幅と高さを設定する必要もあります。そうしないと、開始画像が表示されません。

css: スタイルを直接追加できます。 .vjs-fluid、.vjs-4-3、.vjs-16-9 の 3 つのタイプがあります。最初のものは自動的に計算され、後の 2 つは比率を指定します。 スタイルでは、画像を表示するために開始の幅と高さを設定する必要もあります

 <video id="video" class="video-js vjs-default-skin vjs-fluid" poster="http://vjs.zencdn.net/v/oceans.png" width="375" height="200" controls preload="none"
           data-setup=&#39;{ "html5" : { "nativeTextTracks" : false } }&#39;>
        <source src="@Model.Url" type="video/mp4">
        <p class="vjs-no-js">  播放视频需要启用 JavaScript,推荐使用<a href="http://videojs.com/html5-video-support/" target="_blank">支持HTML5</a>的浏览器访问。</p>
    </video>
ログイン後にコピー
イベントの注意:

通常、開始、一時停止、終了の 3 つのイベントに焦点を当てます

    var player = videojs('video', { }, function () {
           console.log('Good to go!');           //this.play(); // if you don't trust autoplay for some reason       });
       player.on('play', function () {
           console.log('开始/恢复播放');
       });
       player.on('pause', function () {
           console.log('暂停播放');
       });
       player.on('ended', function () {
           console.log('结束播放');
       });
ログイン後にコピー
更新イベントもあります:

player.on('timeupdate', function() {
           console.log(player.currentTime());
       });
ログイン後にコピー
You現在の時間と合計時間が等しいかどうかを判断して、ビデオが終了するかどうかを判断できます:

player.on('timeupdate', function () {  
    // 如果 currentTime() === duration(),则视频已播放完毕
    if (player.duration() != 0 && player.currentTime() === player.duration()) {            // 播放结束        }
    });
ログイン後にコピー
一部の先輩は、Android デバイスでは終了イベントが正しくトリガーされないことを指摘しました (最初に準備してください)。

MIMEタイプの設定

デフォルトのiis MIME設定ではmp4タイプは追加されません。ローカルでの再生には問題ありませんが、サーバーに到達すると404エラーが発生します。これには、iis で MIME を設定する必要があります:

一般的なビデオ形式:

flv 形式は、関連する拡張子: .flv、コンテンツ タイプ: application/octet-stream に結合します

f4v 形式は、拡張子: .f4v に結合します。コンテンツタイプ:application/octet-stream
mp4形式は拡張子:.mp4、コンテンツタイプ:video/mp4
ogv形式は拡張子:.ogv、コンテンツタイプ:video/ogg
webm形式は拡張子:.webm、コンテンツタイプ: video/webm
設定が有効になったらiisを再起動してください。

スタイルのカスタマイズ

公式は、編集して遊べるコードペンのアドレス http://codepen.io/heff/pen/EarCt を提供しました。 主に、再生ボタン、コントロール バー、

プログレス バーです。デフォルトは上記の通りです。

これもあります: http://codepen.io/zanechua/pen/GozrNe SublimeVideo.

Flash 設定

再生テクノロジーは、ブラウザまたはプラグインでビデオまたはオーディオ ファイルを再生するために使用されます。 h5 の場合、ビデオまたはオーディオ要素が使用されます。フラッシュの場合、フラッシュ プレーヤーが定義されます。フラッシュだけでなく、Silverlight、Quicktime などの再生技術もサポートしています。データ設定は要素内で直接定義できます。サポートされているテクノロジーを指定します。

<video data-setup=&#39;{"techOrder": ["html5", "flash", "other supported tech"]}&#39;
ログイン後にコピー

または

JavaScript を使用:

videojs("videoID", {
  techOrder: ["html5", "flash", "other supported tech"]
});
ログイン後にコピー

ここでのデフォルトのルールでは、最初のテクノロジーがプレイに使用され、失敗した場合は後のオプションが使用されます。たとえば、上記の最初の場所に html5 を記述すると、すべての動画が html5 を使用して再生されます。 Flash を優先したい場合は、それを前に置きます:

 data-setup=&#39;{ "techOrder": ["flash","html5"] }&#39;
ログイン後にコピー

ページ要素では、video.js が使用する Flash オブジェクトを提供していることがわかります。

自动播放:

给video元素加上autoplay属性,或者在js中加入autoplay:true

 <video id="video" autoplay poster="/images/bk.png" width="375" height="200" controls preload="none" > </video>
ログイン後にコピー

      var player = videojs('video', { autoplay:true }, function () {
           console.log('Good to go!');           //this.play(); // 保险你还可以主动调用play()
       });
ログイン後にコピー

自动播放总让人讨厌,反之就是删除autoplay属性或设置为false。

其他:

video.js支持扩展插件,用起来很方便。

       //定义一个插件
        function examplePlugin(options) {            this.on('play', function (e) {
                console.log('playback has started!');
            });
        }        //注册
        videojs.plugin('examplePlugin', examplePlugin);        // 使用
        player.examplePlugin({ exampleOption: true });
ログイン後にコピー

插件内部可以直接调用播放器的api。 有一款playlist的插件可以研究下,如过你需要播放列表。https://github.com/brightcove/videojs-playlist  以及 http://videojs.com/advanced/  有这样的效果:

用qq影音转码比较方便,比起什么格式工厂。H.264

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS里特别好用的轻量级日期插件

公众号支付接口的开发

以上がH5動画再生ライブラリvideo.jsの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles