DOM

HTMLMediaElement インターフェイス

 編集:2022.11.03 by T.A.

[Edge]。→

HTMLElement に音声や動画で一般的なメディアに関する基本的な能力の対応に必要なプロパティやメソッドを追加します。

HTMLVideoElement および HTMLAudioElement 要素はどちらも、このインターフェイスを継承しています。

EventTargetNodeElementHTMLElement ← HTMLMediaElement

プロパティ

このインターフェイスは祖先である HTMLElementElementNodeEventTarget のプロパティを継承しています。

HTMLMediaElement.audioTracks [Edge]⛌
HTMLMediaElement の音声トラックを表すすべての AudioTrack オブジェクトを列挙した AudioTrackList オブジェクトを返します。
HTMLMediaElement.autoplay
HTMLMediaElement の再生を自動的に開始するかどうかを論理値で取得/設定が可能します。

HTMLの autoplay 属性を反映します。

HTMLMediaElement.buffered 読取専用
buffered プロパティがアクセスされた時点でユーザー エージェントがバッファリングしているメディア リソースの範囲があれば、それを表す新しい静的な正規化された TimeRanges オブジェクトを返します。
HTMLMediaElement.controls
HTMLMediaElement のユーザー インターフェイスのコントロールを表示するかどうかを論理値で取得/設定します。

HTMLの controls の 属性を反映します。

HTMLMediaElement.controlsList 読取専用
mdn: ユーザー エージェントが独自のコントロール セットを表示するときに、メディア要素に表示するコントロールをユーザー エージェントが選択するのに役立つ DOMTokenList を返します。
HTMLMediaElement.crossOrigin
mdn: この画像要素の CORS 設定です。詳細については、を参照してください。
HTMLMediaElement.currentSrc 読取専用
HTMLMediaElement で選択されているメディア リソースの絶対 URL を文字列で示します。
HTMLMediaElement.currentTime
HTMLMediaElement の現在の再生時間を秒を表す数値で取得/設定します。
HTMLMediaElement.defaultMuted
HTMLMediaElement の音声出力を既定でミュートするかどうかを示します。

HTML の muted 属性を反映しています。

HTMLMediaElement.defaultPlaybackRate
HTMLMediaElement の既定(初期)の再生速度を数値で取得/設定します。
HTMLMediaElement.disableRemotePlayback
HTMLMediaElement がリモート再生ユーザー インタフェースを持つことを許可されるかどうか論理値で取得/設定します。
HTMLMediaElement.duration 読取専用
HTMLMediaElement のメディアの長さを秒を表す数値で示します。
HTMLMediaElement.ended 読取専用
HTMLMediaElement が再生を終了したかどうかを論理値で示します。
HTMLMediaElement.error 読取専用
HTMLMediaElement の最新のエラー オブジェクト MediaError を示します。エラーが無い場合は null となります。
HTMLMediaElement.loop
HTMLMediaElement の再生が最後に達したときに最初から再生し直すかどうかを論理値で取得/設定します。

HTMLの loop 属性を反映します。

HTMLMediaElement.mediaKeys 読取専用 実験的
HTMLMediaElement に関連付けられた、再生中にメディア データの復号化に使用できるキーのセットを表すオブジェクト MediaKeys を返します。
HTMLMediaElement.muted
HTMLMediaElement がミュートされているかどうかを論理値で取得/設定します。
HTMLMediaElement.networkState 読取専用
HTMLMediaElement のネットワークを介したフェッチの現在の状態を数値で示します。
HTMLMediaElement.paused 読取専用
HTMLMediaElement の再生が一時停止されているかどうかを論理値で示します。
HTMLMediaElement.playbackRate
HTMLMediaElement が再生される速度を数値で取得/設定します。
HTMLMediaElement.played 読取専用
mdn: ブラウザが再生したメディア ソースの範囲を含む TimeRanges オブジェクトを返します(存在する場合)。
HTMLMediaElement.preload
HTMLMediaElement で前もってロードする必要があるデータがあるか文字列で取得/設定します。

HTMLの preload 属性を反映しています。

HTMLMediaElement.preservesPitch
HTMLMediaElementplaybackRate によって速度が変わった場合に音ピッチを調整するかどうかを論理値で取得/設定します。
HTMLMediaElement.readyState 読取専用
HTMLMediaElement の準備状態を数値で示します。
HTMLMediaElement.seekable 読取専用
HTMLMediaElement の seekable プロパティがアクセスされた時点でユーザー エージェントがシーク可能なメディア リソースがあればその範囲を表すオブジェクト TimeRanges を返します。
HTMLMediaElement.seeking 読取専用
HTMLMediaElement で再生位置を操作しているかどうかを論理値で示します。
HTMLMediaElement.sinkId 読取専用 実験的
mdn: 出力を配信するオーディオ デバイスの一意の ID である文字列を返します。ユーザー エージェントのデフォルトを使用している場合、空の文字列を返します。
HTMLMediaElement.src
HTMLMediaElement のメディア リソースの URL を文字列で取得/設定します。

HTMLの src 属性の値を反映します。

HTMLMediaElement.srcObject [Edge]一部サポート
HTMLMediaElement に関連付けられたメディアのソースとして機能するオブジェクトを取得/設定します。
HTMLMediaElement.textTracks 読取専用
HTMLMediaElement に関連付けられたメディアのソースとして機能するオブジェクトを取得/設定します。
HTMLMediaElement.videoTracks 読取専用 [Edge]⛌
media.videoTracks[index]
HTMLMediaElement のビデオ トラックを表すすべての VideoTrack オブジェクトを一覧表示する VideoTrackList オブジェクトを返します。
HTMLMediaElement.volume
HTMLMediaElement が再生されるボリュームを数値で取得/設定します。
廃止されたプロパティ

これらのプロパティは廃止されており、ブラウザーが引き続きサポートしている場合でも使用しないでください。

HTMLMediaElement.controller 廃止 非推奨 [Edge]⛌
要素に割り当てられたメディア コントローラを表す MediaController オブジェクトであり、何も割り当てられていない場合はnullです。
HTMLMediaElement.mediaGroup 廃止 非推奨 [Edge]⛌
所属する要素のグループの名前を示す mediagroup HTML 属性を反映する DOMString。メディア要素のグループは、共通の MediaController を共有します。
HTMLMediaElement.mozAudioCaptured 読取専用 廃止 非推奨 [Edge]⛌
Boolean。オーディオ ストリームのキャプチャに関連します。
HTMLMediaElement.mozFragmentEnd 廃止 非推奨 [Edge]⛌
メディア要素に currentSrc のフラグメント URI がある場合は、フラグメント終了時間へのアクセスを提供する double です。それ以外の場合は、メディア期間と同じです。
メソッド

このインターフェイスには祖先である HTMLElementElementNodeEventTarget から継承したメソッドもあります。

HTMLMediaElement.addTextTrack()
新しい TextTrack オブジェクト(字幕用のトラックなど)をメディア要素に追加します。これはプログラムによるインターフェイスのみであり、DOM には影響しません。
HTMLMediaElement.captureStream() 実験的
HTMLMediaElement でレンダリングされているコンテンツのリアルタイム キャプチャをストリーミングしている MediaStream オブジェクトを返します。
HTMLMediaElement.canPlayType(mediaType)
現在のブラウザーが特定の MIME タイプのメディアを再生できるかどうか文字列で返します。
HTMLMediaElement.fastSeek(time) 実験的 [Edge]⛌
HTMLMediaElement で精度と引き換えに新しい時間へのメディアを迅速にシークします。
HTMLMediaElement.load()
HTMLMediaElement を初期状態にリセットし、メディア ソースを選択して、最初から再生を開始する準備としてメディアをロードするプロセスを開始します。
HTMLMediaElement.pause()
HTMLMediaElement の再生を一時停止します。すでに一時停止状態にある場合は効果がありません。
HTMLMediaElement.play()
HTMLMediaElement の再生を開始しようとします。再生が正常に開始されたときに解決される Promise を返します。

許可の問題などの理由で再生を開始しないと、Promise が拒否されます。

HTMLMediaElement.seekToNextFrame() 非標準 実験的 非推奨 [Edge]⛌
HTMLMediaElement の再生位置をメディア内の次のフレームに非同期的に進めます。
HTMLMediaElement.setMediaKeys(mediaKeys) 実験的
HTMLMediaElement に渡された MediaKeys に解決される Promise を返します。これは、再生中にメディアを復号化するために使用されるものです。
HTMLMediaElement.setSinkId(sinkId) 実験的
HTMLMediaElement の出力に使用するオーディオ デバイスの ID を設定し、Promise を返します。これは、アプリケーションが指定されたデバイスの使用を許可されている場合にのみ機能します。
廃止されたメソッド

これらのメソッドは廃止されており、ブラウザーが引き続きサポートしている場合でも使用しないでください。

HTMLMediaElement.mozCaptureStream() 非標準 非推奨 廃止
HTMLMediaElement.mozCaptureStreamUntilEnded() 非標準 廃止 非推奨 [Edge]⛌
HTMLMediaElement.mozGetMetadata() 非標準 廃止 非推奨 [Edge]⛌
Object を返し、これには、再生中のメディア リソースからのメタデータを {key:value} ペアとして表すプロパティが含まれています。

メソッドが呼び出されるたびに、データの個別のコピーが返されます。

このメソッドは、loadedmetadata イベントが発生した後に呼び出す必要があります。

イベント

親である HTMLElement や、GlobalEventHandlers ミックスインから継承したメソッドがあります。これらのイベントを待ち受けするには、addEventListener() を使用するか、このインターフェイスの onイベント名 プロパティにイベント リスナーを代入するかしてください。

abort
mdn: リソースが完全にロードされていないときに発生します。しかし、エラーの結果としてではありません。

onabort イベント ハンドラー プロパティも利用可能。

canplay
メディアを再生できるようになったら発行されます。

oncanplay イベント ハンドラー プロパティも利用可能。

canplaythrough
mdn: ユーザー エージェントがメディアを再生できるときに発生し、また、コンテンツをさらにバッファリングするために停止することなく、メディアを最後まで再生するのに十分なデータがロードされていると推定します。

oncanplaythrough イベント ハンドラー プロパティも利用可能。

durationchange
HTMLMediaElement.duration の値が更新されたときに発行されます。

ondurationchange イベント ハンドラー プロパティも利用可能。

emptied
HTMLMediaElement のメディア データが空のなると発行されます。

onemptied イベント ハンドラー プロパティも利用可能。

encrypted [Edge]⛌?
メディアが暗号化されるときに発行されます。

onencrypted イベント ハンドラー プロパティも利用できます。

ended
HTMLMediaElement で再生して終わりに達すると発行されます。

onended イベント ハンドラー プロパティも利用できます。

error
HTMLMediaElement のリソースがエラーのために読み込めなかったときに発行されます。

onerror イベント ハンドラー プロパティも利用できます。

loadeddata
HTMLMediaElement の最初のフレームの読み込みが完了したときに発生します。

onloadeddata イベント ハンドラー プロパティも利用できます。

loadedmetadata
HTMLMediaElement のメタデータが読み込まれたときに発生します。

onloadedmetadata イベント ハンドラー プロパティも利用できます。

loadstart
mdn: ブラウザがリソースのロードを開始したときに発生します。

onloadstart イベント ハンドラー プロパティも利用できます。

pause
HTMLMediaElement が一時停止になったときに発行されます。

onpause イベント ハンドラー プロパティも利用できます。

play
HTMLMediaElement で再生が開始されたら発行されます。

onplay イベント ハンドラー プロパティも利用できます。

playing
HTMLMediaElement で再生が開始されたときに発行されます。play との違いは不明。

onplaying イベント ハンドラー プロパティも利用できます。

progress
HTMLMediaElement でブラウザーがリソースを読み込むときに発行されます。

onprogress イベント ハンドラー プロパティも利用できます。

ratechange
HTMLMediaElement で再生レートが更新されたときに発行されます。

onratechange イベント ハンドラー プロパティも利用できます。

resize
HTMLMediaElement の縦横の画素構成が更新されたときに発行されます。

onresize イベント ハンドラー プロパティが利用できるようです。

seeked
HTMLMediaElement でシークが完了したときに発行されます。

onseeked イベント ハンドラー プロパティも利用できます。

seeking
HTMLMediaElement でシークが開始された(操作中の状態の)ときに発行されます。

onseeking イベント ハンドラー プロパティも利用できます。

stalled
mdn: ユーザー エージェントがメディア データをフェッチしようとしているが、データが予期せず送信されない場合に発生します。

onstalled イベント ハンドラー プロパティも利用できます。

suspend
HTMLMediaElement のメディア データの読み込みが中断されたときに発行されます。

onsuspend イベント ハンドラー プロパティも利用できます。

timeupdate
HTMLMediaElement でシークされて再生時刻が更新されると発行されます。

ontimeupdate イベント ハンドラー プロパティも利用できます。

volumechange
HTMLMediaElement の音量が更新されたときに発行されます。

onvolumechange イベント ハンドラー プロパティも利用できます。

waiting
mdn: データが一時的に不足しているために再生が停止したときに発生します。

onwaiting イベント ハンドラー プロパティも利用できます。

waitingforkey
mdn: 暗号化キーの待機中に再生がブロックされたときに発行されます。

onwaitingforkey イベント ハンドラー プロパティも利用できます。


テスト