--- title: MediaStream.onaddtrack slug: Web/API/MediaStream/onaddtrack translation_of: Web/API/MediaStream/onaddtrack ---

{{APIRef("Media Streams API")}}

MediaStream.onaddtrack プロパティは、{{domxref("EventHandler")}}であり、{{domxref("MediaStream")}}インスタンスで{{event("addtrack")}}イベントが発生した時に呼び出される関数です。このイベントは、メディアストリームへ新しいトラックが追加された時に発生します。このイベントはブラウザがストリームへ新しいトラックを追加した時に発生します。たとえば、{{domxref("RTCPeerConnection")}}が再交渉された時や、{{domxref("HTMLMediaElement.captureStream()")}}を用いてキャプチャーが開始されたストリームが、新しいトラックを取得した時です。

JavaScriptのコードによって明示的にストリームへトラックを追加した場合({{domxref("MediaStream.addTrack", "addTrack()")}}の呼び出しによるもの)は、addtrackイベントは発生しません。

文法

MediaStream.onaddtrack = eventHandler;

どのトラックで{{event("addtrack")}}イベントが発生したのかを表現するための{{domxref("MediaStreamTrackEvent")}}オブジェクトを引数として受け取る関数を設定してください。追加されたトラックは、イベントの{{domxref("MediaStreamTrackEvent.track", "track")}}プロパティで表されます。

この例では、新しいトラックがストリームへ追加された時に、トラックのリストへ新しいアイテムを追加しています。新しいアイテムには、トラックのkind("audio"または"video")とlabelが表示されます。

stream.onaddtrack = function(event) {
  let trackList = document.getElementById("tracks");
  let label = document.createElement("li");

  label.innerHTML = event.track.kind + ": " + event.track.label;
  trackList.appendChild(label);
};

仕様

仕様 状況 コメント
{{ SpecName('Media Capture', '#event-mediastream-addtrack', 'MediaStream.onaddtrack') }} {{ Spec2('Media Capture') }} 初版

ブラウザ互換性

{{Compat("api.MediaStream.onaddtrack")}}

関連項目