--- 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")}}