Expand description
W3C Media Source Extensions (MSE) の JavaScript バインディング
MediaSource、SourceBuffer、SourceBufferList、TimeRanges のコンストラクタおよび
ネイティブメソッドを提供する。
Statics§
- MEDIA_
SOURCE_ 🔒URLS URL.createObjectURL(mediaSource)の URL と MediaSource の番号、endOfStream 済みか。 再生スレッド(JS のオブジェクトに触れない)が<video src>から SourceBuffer を引くのに使う。- NEXT_
MS_ 🔒ID - NEXT_
SB_ 🔒ID - SOURCE_
BUFFERS 🔒 - SourceBuffer の実体(fMP4 の解析結果)。JS オブジェクトの
_sb_idで引く。 【2026-10-17】従来の JS 側はバイト列を読まずに仮の buffered を作るだけだった。 再生側(
Functions§
- dispatch_
mse_ 🔒event - MSE / SourceBuffer のイベントディスパッチ(on
と addEventListener の両方を実行) - fire_
media_ 🔒ready_ events - MSE を src に持つ
<video>/<audio>の readyState が上がったらメディアイベントを発火する (HAVE_METADATA でloadedmetadata・durationchange、HAVE_ENOUGH_DATA でloadeddata・canplay・canplaythrough)。【2026-10-18】従来は発火せず、これらを待ってからplay()する YouTube の player が再生を始めなかった。 - make_
source_ 🔒buffer_ object SourceBufferJS オブジェクトを構築- make_
time_ 🔒ranges_ object TimeRangesJS オブジェクトを構築- media_
element_ 🔒buffered - MSE の
<video>.buffered: サンプルを持つ全 SourceBuffer の buffered の共通部分。 - media_
element_ 🔒seekable - MSE の
<video>.seekable:[0, duration](長さが分からなければ空)。 - media_
source_ 🔒add_ source_ buffer ms.addSourceBuffer(mimeType)- media_
source_ 🔒buffered_ end - MSE の buffered の終わり(秒。全 SourceBuffer の最大)。
- media_
source_ 🔒clear_ live_ seekable_ range ms.clearLiveSeekableRange()- media_
source_ 🔒ctor MediaSourceコンストラクタ (new MediaSource())- media_
source_ 🔒end_ of_ stream ms.endOfStream(error)- media_
source_ 🔒for_ url - blob URL → (MediaSource の番号, endOfStream 済みか)。
- media_
source_ 🔒is_ type_ supported MediaSource.isTypeSupported(mimeType)静的メソッド- media_
source_ 🔒open_ internal - MediaSource を open 状態へ遷移させ、sourceopen イベントをディスパッチする
- media_
source_ 🔒ready_ state - MSE の
<video>.readyState: 初期化セグメントのみ = 1(HAVE_METADATA)、サンプルあり = 4。 - media_
source_ 🔒remove_ source_ buffer ms.removeSourceBuffer(sourceBuffer)- media_
source_ 🔒set_ live_ seekable_ range ms.setLiveSeekableRange(start, end)- media_
source_ 🔒video_ dimensions - MSE の
<video>.videoWidth/.videoHeight: SourceBuffer の初期化セグメントから得られた寸法。 - ms_
id_ 🔒of - register_
media_ 🔒source_ url URL.createObjectURL(ms)から呼ぶ。- sb_
completion_ 🔒task - schedule_
sb_ 🔒completion - SourceBuffer の更新の完了(
updating=falseとupdate/updateend)を次のタスクで行う。 - source_
buffer_ 🔒abort - source_
buffer_ 🔒append_ buffer sb.appendBuffer(data)- source_
buffer_ 🔒change_ type sb.changeType(type)- source_
buffer_ 🔒remove sb.remove(start, end)。区間内のサンプルを捨てて buffered を作り直す。- time_
ranges_ 🔒end - time_
ranges_ 🔒start