--- title: HTMLMedia​Element​.src​Object slug: Web/API/HTMLMediaElement/srcObject tags: - API - DOM - HTML - HTML DOM - HTMLMediaElement - Media - Reference - srcObject translation_of: Web/API/HTMLMediaElement/srcObject ---
{{APIRef("HTML DOM")}}

{{domxref("HTMLMediaElement")}} インターフェイスの srcObject プロパティは {{domxref("HTMLMediaElement")}} に関連付けられたメディアソースを提供するオブジェクトを設定または取得します。 このオブジェクトは {{domxref("MediaStream")}}、{{domxref("MediaSource")}}、{{domxref("Blob")}} や(Blobから派生している) {{domxref("File")}} です。

: 2017年11月現在、ブラウザーは MediaStream のみをサポートしています。 MediaSourceBlob、および File の場合は、{{domxref("URL.createObjectURL()")}} を使用して URL を作成し、それを {{domxref("HTMLMediaElement.src")}} に割り当てる必要があります。 例として以下を参照してください。

構文

var sourceObject = HTMLMediaElement.srcObject;

HTMLMediaElement.srcObject = sourceObject;

{{domxref('MediaStream')}}、{{domxref('MediaSource')}}、{{domxref('Blob')}}、{{domxref('File')}} オブジェクト。(実際に何がサポートされているのかは互換性テーブルを確認してください。)

使用上の注意

メディアソース仕様の古いバージョンでは、オブジェクト URL を作成するために {{domxref("URL.createObjectURL", "createObjectURL()")}} を使用してから、その URL を {{domxref("HTMLMediaElement.src", "src")}} に設定する必要がありました。 現在は、{{domxref("MediaStream")}} を srcObject に直接設定できます。

基本的な例

この例では、メディアソースを新しく作成した {{HTMLElement("video")}} 要素に割り当てています。

const mediaSource = new MediaSource();
const video = document.createElement('video');
video.srcObject = mediaSource;

src プロパティへの代替をサポート

上記の例のこのバージョンは、古いバージョンのブラウザーをサポートしています。 それは srcObject をサポートしていない場合に、オブジェクト URL を作成して、それを src に割り当てる必要があります。

const mediaSource = new MediaSource();
const video = document.createElement('video');
// 古いブラウザーは srcObject を持っていないかもしれません。
if ('srcObject' in video) {
  video.srcObject = mediaSource;
} else {
  // これは消えつつあるので、新しいブラウザーで使用しないでください。
  video.src = URL.createObjectURL(mediaSource);
}

仕様

仕様 状態 コメント
{{SpecName('HTML WHATWG', 'embedded-content.html#dom-media-srcobject', 'srcObject')}} {{Spec2('HTML WHATWG')}} 初回定義。

ブラウザーの互換性

{{Compat("api.HTMLMediaElement.srcObject")}}