シンプルな HTML ビデオ プレーヤーを実装する方法

シンプルな HTML ビデオ プレーヤーを実装する方法

この記事では、シンプルな HTML ビデオ プレーヤーを実装する方法を紹介し、皆さんと共有します。詳細は次のとおりです。

ファイルリスト

root@tianshl:/data/video# ls
hch.mp4 test.mp4 xyx.mp4 index.html video.list jquery.js

インデックス.html

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="UTF-8">
        <スタイル タイプ="text/css">
            体{
                テキスト配置: 中央;
            }
            #コンテンツラップ{
                上マージン: 50px;
                表示: インラインブロック;
            }

            #コンテンツ{
                ディスプレイ: フレックス;
            }

            /* プレイヤー */
            #ビデオ{
                表示: インラインブロック;
                マージン: 0;
                境界線: 12px 実線 #eee;
                ボックスのサイズ: 境界線ボックス;
            }

            .ビデオリストラップ{
                背景色: #eee;
                右境界線: 1px 実線 #fff;
            }

            /* ビデオリスト */
            .ビデオリスト{
                表示: インラインブロック;
                ボックスのサイズ: 境界線ボックス;
                マージン: 0;
                幅: 150ピクセル;
                リストスタイル: なし;
                パディング: 0;
                オーバーフロー:自動;
                フォントサイズ: 12px;

            }

            /* リスト項目 */
            .ビデオアイテム{
                カーソル: ポインタ;
                幅: 150ピクセル;
                ボックスのサイズ: 境界線ボックス;
                テキスト配置: 左;
                パディング: 5px 0 5px 10px;
            }

            .video-item:not(:last-child){
                下境界線: 1px 実線 #fff;
            }

            .video-item:hover、.active{
                背景色: #ddd;
                色: #333;
            }

            /* ビデオリストのタイトル */
            .ビデオタイトル{
                背景色: ゲインズボロ;
                フォントサイズ: 12px;
                高さ: 30px;
                行の高さ: 30px;
                テキスト配置: 中央;
            }
        </スタイル>
    </head>

    <本文>
        <div id="コンテンツラップ">
            <div id="コンテンツ">
                <div class="ビデオリストラップ">
                    <p class="video-title">ビデオリスト</p>
                    <ul class="ビデオリスト"></ul>
                </div>
            </div>
        </div>
    </本文>
    <script type="text/javascript" src="./jquery.js"></script>
    <script type="text/javascript">
        $(関数(){
            var $content = $('#content');

            // プレーヤーを初期化する var init = function(src){
                var $video = $('<video id="video" コントロール>');
                $video.attr('プリロード', '自動');
                $video.attr('幅', 720).attr('高さ', 405);
                $video.attr('自動再生', '自動再生');
                $video.append($('<source>').attr('src', src).attr('type', 'video/mp4'));
                $content.append($video);
            };
            
            /* ビデオリストを取得 */
            var $video_list = $('.video-list');

            $video_list.css('高さ', 340);

            $.ajax({
                url: "video.list",
                タイプ: "GET",
                非同期: true、
                成功: function(resp){

                    $.each(resp.split('\n'), function(idx, item){
                        if (item === '') 戻り値:
                        var $p = $('<li>').addClass('ビデオアイテム');
                        $p.text(アイテム);
                        $p.data('パス', 項目);
                        $video_list.append($p);
                    });
                }
            });

            初期化();

            /* ビデオを切り替える */
            $video_list.on('click', '.video-item', function(){
                $("#video").remove();
                var $this = $(this);
                $this.parent().find('.active').removeClass('active');
                クラスを追加します。
                $this.data を初期化します('path')。
            });

        })
    </スクリプト>   
</html>

ビデオリスト

# このディレクトリ内のすべての MP4 ファイル (jQuery が解析するため) root@tianshl:/data/video# ls *.mp4 > video.list

nginx の設定

ユーザー root;
ワーカープロセス 1;
イベント {
    ワーカー接続 1024;
}
http {
    mime.types を含めます。
    ファイル送信オン;
    キープアライブタイムアウト65;

    サーバー{
        8000を聴く;
        server_name ローカル IP;
        位置 / {
            # 最初の2行は認証用です(オプション)
            auth_basic "シークレット";
            auth_basic_user_file /usr/local/nginx/passwd.db;
            
            # パス ルート /data/video;
            # ホームページインデックス index.html;
        }
    }
}

インターフェース表示

http://ローカルホスト:8000

認証

プレーヤー

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

<<:  MySQL で数千万のテストデータを含むテストデータベースを作成する方法

>>:  Vue3 の emitting と attr の違いの分析

推薦する

JSが5つ星の賞賛を獲得

この記事では、5つ星の評価を獲得するためのJSの具体的なコードを参考までに共有します。具体的な内容は...

HTML タグ マーキーはさまざまなスクロール効果を実現します (JS 制御なし)

ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...

HTML+CSS+JS でキャンバスがマウスの小さな円に追従する特殊効果のソースコードを実現

効果(ソースコードは最後にあります): 成し遂げる: 1. タグを定義します。 <h1>...

MySQL binlog を開く手順

Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...

NodeJS は画像テキスト分割を実現します

この記事では、画像テキストセグメンテーションを実装するためのNodeJSの具体的なコードを参考までに...

Docker Alibaba Cloud RocketMQ 4.5.1 のデプロイプロセスの詳細な説明

検索ミラー docker 検索 rocketmq画像バージョンを表示他の画像を表示したい場合は、画像...

Web 開発 js 文字列連結プレースホルダーと conlose オブジェクト API の詳細な説明

目次プレースホルダーの置き換えコンソール印刷テーブル()ログ、情報、警告、エラーグループ()、グルー...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

MySQL 5.7 の同時レプリケーションにおける暗黙のバグの分析

序文当社の MySQL オンライン環境のほとんどはバージョン 5.7.18 を使用しています。このバ...

Lua モジュールを使用して WAF を実装する Nginx の原理の分析

目次1. WAFの背景2. WAFとは3. 動作原理4. WAF機能5. WAFと従来のファイアウォ...

スライドドアを実装するための CSS サンプルコード

いわゆるスライディングドアテクノロジーとは、さまざまな長さのテキストに合わせてボックスの背景を自動的...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

MySQL <> および <=> 演算子の紹介

<> 演算子機能: 等しくないことを示します。注: 「!=」演算子と同じ機能を持ちますが...

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...