ホームページ > ウェブフロントエンド > H5 チュートリアル > HTML5 CSS3 模倣Youku動画スクリーンショット機能例

HTML5 CSS3 模倣Youku動画スクリーンショット機能例

黄舟
リリース: 2017-02-21 13:41:48
オリジナル
1688 人が閲覧しました

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

レンダリング:

HTML5 CSS3 模倣Youku動画スクリーンショット機能例

皆さんのために分析してみましょう: 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"); にアクセスする必要がある場合があります。任意のサーバーを任意に起動できます。秘密の質問を報告します。



上記は、Youkuビデオのスクリーンショット機能を模倣したHTML5 CSS3の例の内容です。その他の関連コンテンツについては、PHP中国語Webサイト(www.php.cn)に注目してください。



-->

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