DOM

HTMLMediaElement.srcObject プロパティ

 編集:2022.11.01 by T.A.

[Edge]。→

HTMLMediaElement に関連付けられたメディアのソースとして機能するオブジェクトを取得/設定します。

mdn: このオブジェクトは MediaStreamMediaSourceBlob や(Blob から派生している)File です。

mdn: 注: 2020年3月の時点で、MediaStream 以外のオブジェクトの設定をサポートしているのは Safari のみです。他のブラウザが追いつくまで、MediaSource の場合、BlobFileURL.createObjectURL() を使用して URL を作成し、それを HTMLMediaElement.src に割り当てることを検討してください。例については、以下を参照してください。

構文
HTMLMediaElement.srcObject
HTMLMediaElement HTMLMediaElement

MediaStreamMediaSourceBlobFileオブジェクトの何れか(ただし、実際にサポートされているものについては、互換性の表を参照してください)。

使用上の注意

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

基本的な例/mdn

この例では、カメラからの MediaStream が新しく作成された <video> 要素に割り当てられています。

const mediaStream = await navigator.mediaDevices.getUserMedia({video: true});
const video = document.createElement('video');
video.srcObject = mediaStream;

この例では、新しく作成された <video> 要素に新しい MediaSource が割り当てられています。

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

¶省く

HTML:

<VIDEO id=IdTest src="../../Sample/Eizou_M.mp4" style="width:200px"></VIDEO>

JavaScript:

D=IdTest.srcObject;  //null

JavaScript:

MS=new MediaSource();
IdTest.srcObject=MS;  //エラー発生:Failed to set the 'srcObject' property on 'HTMLMediaElement': The provided value is not of type '(MediaSourceHandle or MediaStream)'.
	//「HTMLMediaElement」に「srcObject」プロパティを設定できませんでした: 指定された値は「(MediaSourceHandle または MediaStream)」の型ではありません。


テスト