MediaStreamTrack

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

* Some parts of this feature may have varying levels of support.

MediaStreamTrackメディアキャプチャとストリーム API のインターフェイスで、ストリームに含まれる一つのメディアトラックを表現します。一般的に、音声や動画のトラックですが、他の種類のトラックも存在することがあります。

ユーザーエージェントによっては、CanvasCaptureMediaStreamTrack のように、より詳細な情報や機能を提供するためにこのインターフェイスをサブクラス化するものもあります。

EventTarget MediaStreamTrack

インスタンスプロパティ

以下に示すプロパティに加えて、 MediaStreamTrack は制約可能なプロパティを持っています。これらのプロパティは、 applyConstraints() によって設定でき、 getConstraints()getSettings() によって取得できます。制約可能なプロパティを用いて適切に動作させるためにはどのようにすればいいかを知りたい場合は、能力と制約と設定を見てください。適切に動作させなかった場合の結果として、あなたが作成したコードは信頼できないものになります。

MediaStreamTrack.contentHint

文字列で、ウェブアプリケーションが、トラックがどのような種類のコンテンツを含んでいるかについてのヒントを提供し、 API の利用者がどのように扱うべきかをガイドするために使用することがあります。使用できる値は、MediaStreamTrack.kind プロパティの値によって異なります。

MediaStreamTrack.enabled

論理型で、トラックが有効の場合は true の値になり、メディアソースストリームを出力することができます。トラックが無効な場合は false の値になり、メディアソースストリームに出力されません。トラックの接続が解除された場合、この値は変更することはできますが、影響を与えることはありません。

メモ: 標準的な「ミュート」(消音)機能は enabledfalse に設定することで実装できます。 muted プロパティは技術的な問題でメディアがない状態を表します。

MediaStreamTrack.id 読取専用

トラックの固有識別子 (GUID) を含む文字列を返します。この識別子はブラウザーによって生成されます。

MediaStreamTrack.kind 読取専用

このトラックが音声トラックの場合は "audio" が設定され、動画トラックの場合は "video" が設定される文字列を返します。ソースからの関連付けが解除された場合、この値が変更されることはありません。

MediaStreamTrack.label 読取専用

ユーザーエージェントによって割り当てられた、 "internal microphone" のようなトラックソースを識別するラベルを含む文字列を返します。この文字列は空になることもあり、ソースが接続されていないと空になります。トラックのソースとの関連付けが解除されても、このラベルは変更されません。

MediaStreamTrack.muted 読取専用

技術的な問題でこのトラックがメディアデータを提供できないかどうかを示す論理値を返します。

メモ: 標準的な「ミュート」(消音)機能は enabledfalse に設定することで実装でき、再び true に設定することでメディアのミュートを解除することができます。

MediaStreamTrack.readyState 読取専用

トラックの状態を表す列挙値の文字列を返します。この値は次のいずれかになります。

  • "live" は入力機器が接続されており、ベストエフォートでリアルタイムなデータを提供することを表します。この状態では、 enabled 属性を用いることで、データの出力のオンとオフを切り替えることができます。
  • "ended" は入力機器がこれ以上データを提供することがなく、新しいデータも一切提供されないことを示します。

インスタンスメソッド

MediaStreamTrack.applyConstraints()

MediaStreamTrack の制約可能なプロパティについて、理想的な値や許容される値の範囲を指定することができます。

MediaStreamTrack.clone()

MediaStreamTrack の複製を返します。

MediaStreamTrack.getCapabilities()

MediaStreamTrack で利用できる制約可能なプロパティの一覧を返します。

MediaStreamTrack.getConstraints()

トラックに設定されている制約を含む MediaTrackConstraints を返します。返値は、最後に applyConstraints() を用いて設定した制約に一致します。

MediaStreamTrack.getSettings()

MediaStreamTrack の制約可能なプロパティの値を含む MediaTrackSettings オブジェクトを返します。

MediaStreamTrack.stop()

トラックに関連付けられたソースの再生を停止し、ソースとトラックの関連付けを解除します。トラックの状態は ended に設定されます。

イベント

これらのイベントを待ち受けするには、 addEventListener() を使用するか、イベントリスナーをこのインターフェイスの onイベント名 プロパティに代入するかしてください。

ended

トラックの再生が終わったとき(readyState の値が ended に変化したとき)に送られます。ただし、トラックが MediaStreamTrack.stop を呼び出すことで終了した場合を除きます。

mute

そのトラックが一時的にデータを提供できなくなったこと(ネットワークに異常が発生した場合など)を示すために muted プロパティの値が true になったときに MediaStreamTrack に送られます。

unmute

データが再び利用可能になり、 muted 状態が終わったときにトラックに送信されます。

仕様書

Specification
Media Capture and Streams
# mediastreamtrack

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
MediaStreamTrack
applyConstraints
aspectRatio constraint
autoGainControl constraint
channelCount constraint
deviceId constraint
displaySurface constraint
echoCancellation constraint
facingMode constraint
frameRate constraint
groupId constraint
height constraint
latency constraint
logicalSurface constraint
noiseSuppression constraint
resizeMode constraint
sampleRate constraint
sampleSize constraint
suppressLocalAudioPlayback constraint
Experimental
volume constraint
DeprecatedNon-standard
width constraint
capturehandlechange event
Experimental
clone
contentHint
enabled
ended event
getCapabilities
getCaptureHandle
Experimental
getConstraints
getSettings
id
kind
label
mute event
muted
readyState
stop
unmute event

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.
Requires a vendor prefix or different name for use.
Has more compatibility info.

関連情報