HTML5/CSS3の魅力的な例 - Youkuビデオのスクリーンショット機能を模倣する詳細な説明

黄舟
リリース: 2017-03-09 16:42:20
オリジナル
2035 人が閲覧しました

HTML5/CSS3の魅力的な例 - Youkuビデオのスクリーンショット機能を模倣する詳細な説明:

一般的なビデオWebサイトは、ユーザーがアップロードしたビデオのスクリーンショットをユーザーがアップロードした後、ビデオ画像の表示として使用できます。このような機能は、ユーザーに追加の表示画像のアップロードを求める代わりに、ユーザーに優れたエクスペリエンスを提供するためにプロジェクトに導入することもできます。

レンダリング:


皆さんのために分析してみましょう。 ctx.drawImage を使用する場合、コア コードには次の数行しかありません。 , 最初のパラメータにはビデオ オブジェクトを指定でき、その後、キャンバスを通じて DataUrl が取得され、Img タグに割り当てられます。これらが重要なポイントです。

以下の例全体を見てください:


HTML:

_canvas = document.createElement("canvas");
_ctx = _canvas.getContext("2d");
_ctx.fillStyle = '#ffffff';
_ctx.fillRect(0, 0, _videoWidth, _videoWidth);
_ctx.drawImage(_video, 0, 0, _videoWidth, _videoHeight, 0, 0, _videoWidth, _videoHeight);
var dataUrl = _canvas.toDataURL("image/png");
ログイン後にコピー

html と css はどちらも非常に単純です。

主に JS コードを見てください:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">

    <style type="text/css">


        html
        {
            overflow: hidden;
        }

        body
        {
            background-color: #999;
        }

        video
        {
            display: block;
            margin: 60px auto 0;
        }

        #shotBar
        {
            position: absolute;
            bottom: 5px;
            height: 120px;
            width: 98%;
            background-color: #000;
            box-shadow: -5px -5px 10px #fff;
            border-radius: 5px;
            padding: 2px;
            overflow: auto;
        }

        #shotBar img
        {
            border: 3px solid #fff;
            border-radius: 5px;
            height: 110px;
            width: 210px;
            margin-left: 4px;
        }


    </style>

    <script type="text/javascript" src="../../../jquery-1.8.3.js"></script>

    <script type="text/javascript" src="videoshot.js"></script>

    <script type="text/javascript">

        $(function ()
        {
            ZhangHongyang.click2shot.init();
        });

    </script>


</head>
<body>


<video src="media/style.mp4" controls id="video">
</video>
<p id="shotBar">
</p>
</body>
</html>
ログイン後にコピー

video.canplay イベントで属性といくつかの操作を取得した後、removeEventLinstener を実行する必要があることに注意してください。そうしないと、再生が一時停止されたときにこのメソッドが常に呼び出されます。イベントをクリックするとビデオが一時停止され、ビデオの位置に画像が生成され、jqueryアニメーションを使用してサムネイルの位置に移動し、ドキュメントが削除されてサムネイルが表示されます、アニメーション効果が生じます。

自分で写真をアップロードするなどの操作を追加できます。もう 1 つの非常に重要な点があります。通常使用するには、サーバー内で Canvas.toDataURL("image/png"); にアクセスする必要があるかもしれません。任意のサーバーを任意に起動できます。秘密の質問を報告します。


以上がHTML5/CSS3の魅力的な例 - Youkuビデオのスクリーンショット機能を模倣する詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート