HTML5とJavaScriptを使ったマルチメディア処理
こんにちは、あっくんです。今日は、すごい困った事があって悩んでいました。職業の面談の日に予定があり変更したいと考えていました。誰かと話をして、日程を変更調整しなければならない状態です。そんなときにさっと声をかけてくれた人がいました。「よかったら、日程私とかわりましょうか?」と。結果、その人と調整はできませんでしたが、相手のことを考えて行動できる人はやっぱりすごいし、心がきれいに感じます。ホンマにありがたいことですね。
今回は、HTML5とJavaScriptを使ったマルチメディア処理についてやっていきましょう!
HTML5にはさまざまなマルチメディア機能があります。画像や動画、音声ファイルなどを読み込み、Webページ上で表示したり操作したりできます。画像はimgタグで読み込んだり、描画はcanvasタグで作成した領域にJavaScriptで処理ができます。動画はvideoタグ、音声はaudioタグをつかいます。
例、videoを操作します。
.play()メソッドは動画を再生します。
.pouse()メソッドは動画を一時停止します。
timeupdate イベントは、currentTime 属性で示される時刻が更新されたときに発生します。
.currentTimeプロパティは現在時間を得られます。
.durationプロパティは全体時間を得られます。
ended イベントは、メディアの終わりに達したため、またはそれ以上利用できるデータがないために再生またはストリーミングが停止したときに発生します。
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8" />
</head>
<body>
    <video id="video" width="400" height="300">
      <source src="Waterfall.mp4" />
    </video>
    <div>
        <button id="play">再生</button>
        <button id="pause">一時停止</button>
    </div>
    <div>現在/全体 秒 : <span id="time"></span></div>
    <div id="status"></div>
    <script>
        // windowにDOMContentLoadedの処理を登録
        window.addEventListener("DOMContentLoaded", (e) => {
            // video養素と、情報出力用養素を選択
            const elVideo = document.querySelector("#video");
            const elTm = document.querySelector("#time");
            const elStatus = document.querySelector("#status");
            // 再生ボタンをクリックした時の処理
            document.querySelector("#play").addEventListener("click", (e) => {
                elVideo.play();
                elStatus.innerText = "再生中";
            });
            // 一時停止ボタンをクリックした時の処理
            document.querySelector("#pause").addEventListener("click", (e) => {
                elVideo.pause();
                elStatus.innerText = "一時停止中";
            });
            // 現在/全体時間の表示
            elVideo.addEventListener("timeupdate", (e) => {
                elTm.innerText = elVideo.currentTime + "/" + elVideo.duration;
            });
            // 再生完了
            elVideo.addEventListener("ended", (e) => {
                elStatus.innerText = "再生終了";
            });
        });
    </script>
</body>
</html>Code language: HTML, XML (xml)
読んでいただいてありがとうございました!
JavaScript完全入門、網羅的に解説されいてわかりやすいです。