MediaSource.isTypeSupported()
静的メソッドは、指定された MIME タイプが現在のユーザーエージェントによってサポートされる可能性が高い場合に true
となる Boolean
値を返します。 つまり、その MIME タイプの SourceBuffer
オブジェクトを正常に作成できる場合です。 返された値が false
の場合、ユーザーエージェントは、指定された形式のメディアにアクセスできないと確信しています。
構文
var isItSupported = mediaSource.isTypeSupported(mimeType);
パラメーター
mimeType
- 現在のブラウザーでのサポートをテストする MIME メディアタイプ。 これには、ファイル内で使用されるコーデックに関する追加の詳細を提供する
codecs
パラメーターが含まれる場合があります。
戻り値
指定されたタイプのメディアをおそらく再生できるとブラウザーが感じる場合に true
になる Boolean
。 ただし、これは保証ではなく、メディアが正しく再生されない可能性に備えてコードを準備する必要があります。 ただし、値 false
は、指定されたタイプのメディアが再生されないことを保証します。
メディアファイルで動作するすべての Web API は、メディアタイプを使用できるかどうかを判断するときに、「いいえ/多分/おそらく」アプローチ(または、この場合は「いいえまたはおそらく」)を使用します。 これは、メディアファイルが複雑で難解な構造であるため、実際にメディアのコンテンツを使用するまでは、微妙なバリエーションが多すぎて絶対に確実ではないためです。
例
次のスニペットは、Nick Desaulniers によって書かれた例からのものです(ライブで完全なデモを見るか、ソースをダウンロードしてさらに調査してください)。
var assetURL = 'frag_bunny.mp4';
// Blink はコーデックに関して特定する必要がある
// ./mp4info frag_bunny.mp4 | grep Codec
var mimeCodec = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
if ('MediaSource' in window && MediaSource.isTypeSupported(mimeCodec)) {
var mediaSource = new MediaSource;
//console.log(mediaSource.readyState); // closed
video.src = URL.createObjectURL(mediaSource);
mediaSource.addEventListener('sourceopen', sourceOpen);
} else {
console.error('サポートされていない MIME タイプまたはコーデック: ', mimeCodec);
}
function sourceOpen (_) {
//console.log(this.readyState); // open
var mediaSource = this;
var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
fetchAB(assetURL, function (buf) {
sourceBuffer.addEventListener('updateend', function (_) {
mediaSource.endOfStream();
video.play();
//console.log(mediaSource.readyState); // ended
});
sourceBuffer.appendBuffer(buf);
});
};
仕様
仕様 | 状態 | コメント |
---|---|---|
Media Source Extensions isTypeSupported() の定義 |
勧告 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.