jQueryでスクロールバーの初期位置を変更する
ホームページ内でスクロールバーを使用する場合、特に設定がなければ左上を基準に表示されます…
ホームページ内に動画を掲載する場合、youtube等のサービスを利用する場合は問題ないのですが、公開条件等によって既存のサービスが使用できない時に、canvasとjavascriptを使用して表示時に動画のサムネイル(ポスター画像)を自動で生成した方法をメモ
<video id="myVideo" onclick="this.play();" controls="" controlslist="nodownload" playsinline>
<source src="video.mp4" type="video/mp4">
</video>
<canvas id="myCanvas" style="display:none;"></canvas>
document.addEventListener("DOMContentLoaded", function() {
var video = document.getElementById("myVideo");
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
// 動画データが読み込まれた後に実行
video.addEventListener("loadeddata", function() {
// video の幅と高さを canvas に合わせる
canvas.width = video.videoWidth;
canvas.height = video.videoHeight;
// 0.5秒後のフレームを取得
video.currentTime = 0.5;
});
// 指定フレームが読み込まれたら canvas に描画
video.addEventListener("seeked", function() {
ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
// canvas を画像データに変換してポスターに設定
var posterDataUrl = canvas.toDataURL("image/jpeg");
video.setAttribute("poster", posterDataUrl);
});
});
尚、iOSでは機能制限があるようなので、読み込み時の自動取得は不可。
再生ボタンクリック時に取得はできますが、本来の目的とは異なるため個別にポスター画像を用意するか、動画の登録時に自動生成したものを保存して使用する方法が良さそうです。
ホームページ内でスクロールバーを使用する場合、特に設定がなければ左上を基準に表示されます…
PHPを使用してPDFファイルを動的にダウンロードしたところ、「header」関数でのリ…
テキスト入力時に文字を装飾したり画像や表を埋め込めるリッチエディタ。ワードプレスを使用す…