SourceBuffer: changeType() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

注意:此功能在 專用 Web Workers 中可用。

SourceBuffer 介面的 changeType() 方法用於設定未來呼叫 appendBuffer() 時,新媒體資料應符合的 MIME 型別。這使得在流媒體播放過程中更改編解碼器或容器型別成為可能。

在某些場景下,透過根據資源限制的變化從一個編解碼器切換到另一個編解碼器,可以幫助使媒體源適應不斷變化的頻寬可用性。

語法

js
changeType(type)

引數

type

一個字串,指定未來緩衝區將符合的 MIME 型別。

返回值

無(undefined)。

異常

TypeError

如果指定的字串為空,而不是表示有效的 MIME 型別,則會丟擲此錯誤。

InvalidStateError DOMException

如果 SourceBuffer 不是父級媒體源的 sourceBuffers 列表中的成員,或者緩衝區的 updating 屬性指示之前排隊的 appendBuffer()remove() 仍在處理中,則會丟擲此錯誤。

NotSupportedError DOMException

如果指定的 MIME 型別不受支援,或者在 MediaSource.sourceBuffers 列表中存在的 SourceBuffer 物件型別不支援該 MIME 型別,則會丟擲此錯誤。

用法說明

如果父級 MediaSourcereadyState 屬性設定為 "ended",呼叫 changeType() 會將 readyState 屬性設定為 "open",並在父級媒體源上觸發一個名為 sourceopen 的事件。

規範

規範
Media Source Extensions™
# dom-sourcebuffer-changetype

瀏覽器相容性

另見