--- title: MediaStream.onaddtrack slug: Web/API/MediaStream/addtrack_event translation_of: Web/API/MediaStream/onaddtrack original_slug: Web/API/MediaStream/onaddtrack ---
{{APIRef("Media Streams API")}}
MediaStream.onaddtrack プロパティは、{{event("Event_handlers", "event handler")}}であり、{{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")}}