SourceBuffer:changeType() 方法
changeType()
方法是 SourceBuffer
接口的一个方法,它设置了未来调用 appendBuffer()
时应期望新媒体数据符合的 MIME 类型。这使得可以在流传输过程中更改编解码器或容器类型成为可能。
一个有帮助的场景是支持使媒体源适应不断变化的带宽可用性,通过在资源限制发生变化时从一种编解码器过渡到另一种编解码器。
语法
js
changeType(type)
参数
type
-
一个字符串,指定未来缓冲区将符合的 MIME 类型。
返回值
无 (undefined
)。
异常
TypeError
-
如果指定的字符串为空,而不是指示有效的 MIME 类型,则抛出此异常。
InvalidStateError
DOMException
-
如果
SourceBuffer
不是父媒体源的sourceBuffers
列表的成员,或者缓冲区的updating
属性指示先前排队的appendBuffer()
或remove()
仍在处理中,则抛出此异常。 NotSupportedError
DOMException
-
如果指定的 MIME 类型不受支持,或者与
MediaSource.sourceBuffers
列表中存在的SourceBuffer
对象类型不支持,则抛出此异常。
使用说明
如果父 MediaSource
的 readyState
属性设置为 "ended"
,则调用 changeType()
将把 readyState
属性设置为 "open"
,并在父媒体源处触发一个名为 sourceopen
的简单事件。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。