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.

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報