这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
mode
特性为
SourceBuffer
interface controls whether media segments can be appended to the
SourceBuffer
in any order, or in a strict sequence.
The two available values are:
segments
: The media segment timestamps determine the order in which the segments are played. The segments can be appended to the
SourceBuffer
in any order.
sequence
: The order in which the segments are appended to the
SourceBuffer
determines the order in which they are played. Segment timestamps are generated automatically for the segments that observe this order.
The mode value is initially set when the
SourceBuffer
is created using
MediaSource.addSourceBuffer()
. If timestamps already exist for the media segments, then the value will be set to
segments
; if they don't, then the value will be set to
sequence
.
If you try to set the
mode
property value to
segments
when the initial value is
sequence
, an exception will be thrown. The existing segment order must be maintained in
sequence
mode. You can, however, change the value from
segments
to
sequence
. It just means the play order will be fixed, and new timestamps generated to reflect this.
This property cannot be changed during while the
SourceBuffer
is processing either an
appendBuffer()
or
remove()
调用。
var myMode = sourceBuffer.mode; sourceBuffer.mode = 'sequence';
A
DOMString
.
The following exceptions may be thrown when setting a new value for this property.
| 异常 | 解释 |
|---|---|
InvalidAccessError
|
An attempt was made to set the value to
segments
when the initial value is
sequence
.
|
InvalidStateError
|
SourceBuffer
object is being updated (i.e. its
SourceBuffer.updating
property is currently
true
), the last media segment appended to this
SourceBuffer
is incomplete, or this
SourceBuffer
has been removed from the
MediaSource
.
|
This snippet sets the
sourceBuffer
mode to
'sequence'
if it is currently set to
'segments'
, thus setting the play order to the sequence in which media segments are appended.
var curMode = sourceBuffer.mode;
if (curMode == 'segments') {
sourceBuffer.mode = 'sequence';
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
媒体源扩展
The definition of 'mode' in that specification. |
推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
mode
|
Chrome 23 | Edge 12 | Firefox 42 | IE 11 | Opera 15 | Safari 8 | WebView Android 4.4.3 | Chrome Android 33 | Firefox Android 不支持 No | Opera Android 14 | Safari iOS 不支持 No | Samsung Internet Android 3.0 |
完整支持
不支持
见实现注意事项。
用户必须明确启用此特征。