HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTML DOM Video durationプロパティとは?動画の長さ(秒数)を取得する方法を解説

HTML DOM の Video duration プロパティは、動画の長さ(秒数)に対応する数値を返します。動画プレイヤーの再生時間表示や、動画の長さに応じた処理を行いたい場合に便利なプロパティです。

注意点:ライブストリームの場合

ライブ配信(ライブストリーム)に対してこのプロパティを使用した場合、「Inf」(無限大)が返されます。これは、ライブストリームには事前に定義された長さが存在しないためです。ライブ配信を扱う際は、この挙動に注意してコードを記述する必要があります。

構文(Syntax)

duration プロパティの構文は以下のとおりです。

mediaObject.duration

引数を取らず、動画の長さを秒単位の数値として返します。読み取り専用のプロパティであるため、値を設定することはできません。

実装例(Example)

それでは、HTML DOM Video duration プロパティを使用した具体的なサンプルコードを見ていきましょう。以下の例では、ボタンをクリックすると動画の長さが表示されます。

<!DOCTYPE html>
<html>
<head>
<title>HTML DOM Video duration</title>
<style>
    * {
        padding: 2px;
        margin: 5px;
    }
    form {
        width: 70%;
        margin: 0 auto;
        text-align: center;
    }
    input[type="button"] {
        border-radius: 10px;
    }
</style>
</head>
<body>
    <form>
        <fieldset>
            <legend>HTML-DOM-Video-duration</legend>
            <video id="demo" width="320" controls><source src="https://www.tutorialspoint.com/html5/foo.mp4" type="video/mp4"></video><br>
            <input type="button" onclick="getTrackDetails()" value="この動画は何秒のコンテンツですか?">
            <div id="divDisplay"></div>
        </fieldset>
    </form>
<script>
    var divDisplay = document.getElementById("divDisplay");
    var demo = document.getElementById("demo");
    function getTrackDetails() {
        divDisplay.textContent = 'Duration: ' + demo.duration + ' seconds';
    }
</script>
</body>
</html>

コードの解説

このサンプルコードのポイントは以下のとおりです。

1. video 要素の配置
id="demo" を持つ video 要素を設置し、controls 属性によって再生コントロールを表示しています。

2. ボタンによるイベント発火
ボタンがクリックされると、onclick 属性によって getTrackDetails() 関数が呼び出されます。

3. duration プロパティで長さを取得
demo.duration で動画の長さ(秒数)を取得し、その結果を div 要素のテキストとして表示しています。

出力結果(Output)

「この動画は何秒のコンテンツですか?」ボタンをクリックする前:

HTML DOM Video durationプロパティとは?動画の長さ(秒数)を取得する方法を解説

「この動画は何秒のコンテンツですか?」ボタンをクリックした後:

HTML DOM Video durationプロパティとは?動画の長さ(秒数)を取得する方法を解説

ボタンをクリックすると、「Duration: ○○ seconds」という形式で動画の長さが画面に表示されます。このように、duration プロパティを使えば、JavaScript だけで簡単に動画の長さ情報を取得できることがわかります。

まとめ

HTML DOM の Video duration プロパティは、動画の長さを秒単位の数値で取得できる読み取り専用プロパティです。通常の動画ファイルでは数値が返されますが、ライブストリームでは「Inf」(無限大)が返される点に注意が必要です。動画プレイヤーの UI 構築や、再生時間に応じた動的な処理を実装する際にぜひ活用してください。

  1. HTML DOM Video playbackRateプロパティの使い方!再生速度の取得・設定を解説

    HTML DOMのVideo playbackRateプロパティは、動画メディアの現在の再生速度に対応する数値を取得・設定できるプロパティです。標準の再生速度は「1.0」で、値を大きくすれば早送り、小さくすればスロー再生として動作します。 構文 以下が構文の基本形です。 playbackRateの値を取得する(数値として返す) mediaObject.playbackRate playbackRateに値を設定する mediaObject.playbackRate = number 注意:設定できる数値の最大値は「16」です。また、「0.0」を指定すると動画は静止した状態になります。 Vide

  2. HTML DOMのVideo widthプロパティとは?動画の幅を取得・設定する方法

    HTML DOM の Video width プロパティは、<video> 要素で表示されるメディアの幅(width)に対応する数値を取得・設定できるプロパティです。単位はピクセル(px)で扱われ、JavaScript から動的に動画プレイヤーの横幅を変更したい場合に活用できます。 構文(Syntax) width プロパティの基本的な構文は以下のとおりです。 現在の幅(px)を取得する場合 mediaObject.width 幅(px)を新しく設定する場合 mediaObject.width = number なお、HTML 属性として記述された初期値は <video wi