MediaStreamTrack

この記事は翻訳が完了していません。 この記事の翻訳にご協力ください

MediaStreamTrack インターフェイスは、ストリームに含まれる一つのメディアトラックを表現します。一般的に、オーディオやビデオのトラックですが、他の種類のトラックも存在することができます。

プロパティ

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

MediaStreamTrack.contentHint
文字列で、 API 利用者がどのように扱うかをガイドするために、トラックが含んでいるものコンテンツの種類が何であるかのヒントを提供するためにウェブアプリケーションが使用します。
MediaStreamTrack.enabled
論理型で、トラックが有効の場合は true の値になり、メディアソースストリームを描画することができます。トラックが無効の場合は false の値になり、メディアソースストリームに描画されません。トラックの接続が解除された場合、この値は変更することはできますが影響を与えることはありません。
メモ: 標準的なミュート (消音) 機能を実装するには enabledfalse にします。 muted プロパティは技術的な問題でメディアがない状態を表します。
MediaStreamTrack.id 読取専用
トラックの固有識別子 (GUID) を含む DOMString を返します。この識別子はブラウザーによって生成されます。
MediaStreamTrack.isolated 読取専用
Returns a Boolean value which is true if the track is isolated; that is, the track cannot be accessed by the document that owns the MediaStreamTrack. This happens when the peerIdentity property is set, or if the track comes from a cross-origin source.
MediaStreamTrack.kind 読取専用
DOMStringを返します。このトラックがオーディオトラックの場合は"audio"が設定され、ビデオトラックの場合は"video"が設定されます。ソースからの関連付けが解除された場合、この値が変更されることはありません。
MediaStreamTrack.label 読取専用
"internal microphone"のようなトラックソースを識別するユーザエージェントによって割り当てられたラベルを含むDOMStringを返します。この文字列は空になることもあり、ソースが接続されていないと空になります。トラックのソースとの関連付けが解除されても、このラベルは変更されません。
MediaStreamTrack.muted 読取専用
Booleanの値を返します。トラックがミュートであるかどうかを示します。
Note: You can implement standard "mute" functionality by setting enabled to false, and unmute the media by setting it back to true again.
MediaStreamTrack.readonly 読取専用
Booleanの値を返します。トラックが読み取り専用の場合(ビデオファイルソースやカメラなどの設定を変更することができないもののような)はtrueを返し、それ以外の場合はfalseを返します。
MediaStreamTrack.readyState 読取専用
トラックの状態を表す列挙型の値を返します。この値は次のどれかになります。
  • "live"は入力デバイスが接続されており、ベストエフォートでリアルタイムなデータを提供することを表します。この状態では、MediaStreamTrack.enabled属性を用いることで、データの出力のオンとオフを切り替えることができます。
  • "ended"は入力デバイスがこれ以上データを提供することがなく、新しいデータも一切提供されないことを示します。
MediaStreamTrack.remote  読取専用
Booleanの値を返します。トラックのソースがRTCPeerConnectionの場合はtrueであり、それ以外はfalseです。

メソッド

MediaStreamTrack.applyConstraints()
MediaStreamTrackの有効な制約可能な値についての許容できる値の範囲を指定します。
MediaStreamTrack.clone()
MediaStreamTrackの複製を返します。
MediaStreamTrack.getCapabilities()
MediaStreamTrackで有効な制約可能なプロパティの一覧を返します。
MediaStreamTrack.getConstraints()
トラックに設定されている制約を含むMediaTrackConstraintsを返します。戻り値は、最後にapplyConstraints()を用いて設定した制約に一致します。
MediaStreamTrack.getSettings()
MediaStreamTrackの制約可能なプロパティの値を含むMediaTrackSettingsオブジェクトを返します。
MediaStreamTrack.stop()
トラックに関連付けられたソースの再生を停止し、ソースとトラックの関連付けを解除します。トラックの状態はendedに設定されます。

イベント

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

ended
Sent when playback of the track ends (when the value readyState changes to ended).
Also available using the onended event handler property.
mute
Sent to the MediaStreamTrack when the value of the muted property is changed to true, indicating that the track is unable to provide data temporarily (such as when the network is experiencing a service malfunction).
Also available using the onmute event handler property.
isolationchange
Sent whenever the value of the isolated property changes due to the document gaining or losing permission to access the track.
Also available through the onisolationchange event handler property.
overconstrained
Sent when the constraints specified for the track cause the track to be incompatible and therefore to not be used.
Also available through the onoverconstrained event handler property.
unmute
Sent to the track when data becomes available again, ending the muted state.
Also available through the onunmute event handler property.

仕様書

仕様書 状態 備考
Identity for WebRTC
Isolated tracks の定義
勧告候補 独立トラック対応のための追加プロパティ
Media Capture and Streams
MediaStreamTrack の定義
勧告候補 初回定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
MediaStreamTrackChrome 完全対応 29Edge 完全対応 12Firefox 完全対応 22IE 未対応 なしOpera 完全対応 16Safari 完全対応 11WebView Android 完全対応 ≤37Chrome Android 完全対応 29Firefox Android 完全対応 22Opera Android 完全対応 16Safari iOS 完全対応 11Samsung Internet Android 完全対応 2.0
applyConstraintsChrome 完全対応 63Edge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 46Safari 完全対応 ありWebView Android 完全対応 63Chrome Android 完全対応 63Firefox Android 完全対応 50Opera Android 完全対応 43Safari iOS 完全対応 ありSamsung Internet Android 完全対応 7.0
cloneChrome 完全対応 45Edge 完全対応 12Firefox 完全対応 48IE 未対応 なしOpera 完全対応 32Safari 完全対応 ありWebView Android 完全対応 45Chrome Android 完全対応 45Firefox Android 完全対応 ありOpera Android 完全対応 32Safari iOS 完全対応 ありSamsung Internet Android 完全対応 5.0
contentHintChrome 完全対応 60Edge 完全対応 ≤79Firefox ? IE 未対応 なしOpera 完全対応 47Safari ? WebView Android 完全対応 60Chrome Android 完全対応 60Firefox Android ? Opera Android 完全対応 44Safari iOS ? Samsung Internet Android 完全対応 8.0
enabledChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 24IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 24Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
ended eventChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
getCapabilitiesChrome 完全対応 66Edge 完全対応 12Firefox 未対応 なしIE 未対応 なしOpera 完全対応 53Safari 完全対応 ありWebView Android 完全対応 66Chrome Android 完全対応 66Firefox Android 未対応 なしOpera Android 完全対応 47Safari iOS 完全対応 ありSamsung Internet Android 完全対応 9.0
getConstraintsChrome 完全対応 53Edge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 53Chrome Android 完全対応 52Firefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 6.0
getSettingsChrome 完全対応 61Edge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 48Safari 完全対応 ありWebView Android 完全対応 61Chrome Android 完全対応 61Firefox Android 完全対応 50Opera Android 完全対応 45Safari iOS 完全対応 11Samsung Internet Android 完全対応 8.0
getSources
非推奨
Chrome 未対応 ? — 56Edge ? Firefox 未対応 なしIE 未対応 なしOpera 未対応 ? — 43Safari ? WebView Android 未対応 ? — 56Chrome Android 完全対応 56Firefox Android ? Opera Android 未対応 ? — 43Safari iOS ? Samsung Internet Android 完全対応 6.0
idChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 ありIE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
isolatedChrome ? Edge ? Firefox 未対応 なしIE 未対応 なしOpera ? Safari ? WebView Android ? Chrome Android ? Firefox Android 未対応 なしOpera Android ? Safari iOS ? Samsung Internet Android ?
kindChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 ありIE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
labelChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 ありIE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
mute eventChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 59IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 59Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
mutedChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 59IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 59Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
onendedChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
onisolationchangeChrome ? Edge ? Firefox 未対応 なしIE 未対応 なしOpera ? Safari ? WebView Android ? Chrome Android ? Firefox Android 未対応 なしOpera Android ? Safari iOS ? Samsung Internet Android ?
onmuteChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 59IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 59Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
onoverconstrained
非推奨非標準
Chrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 ありIE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android ? Opera Android ? Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
onunmuteChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 59IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 59Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
readonly
非推奨
Chrome ? Edge 完全対応 12Firefox ? IE 未対応 なしOpera ? Safari ? WebView Android ? Chrome Android ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?
readyStateChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 50IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 50Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
remote
非推奨非標準
Chrome 未対応 48 — 59Edge 未対応 12 — 79Firefox 完全対応 ありIE 未対応 なしOpera 未対応 35 — 46Safari ? WebView Android 未対応 48 — 59Chrome Android 未対応 48 — 59Firefox Android 完全対応 ありOpera Android 未対応 35 — 43Safari iOS ? Samsung Internet Android 未対応 5.0 — 7.0
stopChrome 完全対応 61Edge 完全対応 12Firefox 完全対応 34IE 未対応 なしOpera 完全対応 45Safari 完全対応 ありWebView Android 完全対応 61Chrome Android 完全対応 61Firefox Android 完全対応 34Opera Android 完全対応 43Safari iOS 完全対応 ありSamsung Internet Android 完全対応 8.0
unmute eventChrome 完全対応 ありEdge 完全対応 12Firefox 完全対応 59IE 未対応 なしOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありFirefox Android 完全対応 59Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。

関連情報