MediaTrackSupportedConstraints
dictionary establishes the list of constrainable properties recognized by the
用户代理
or browser in its implementation of the
MediaStreamTrack
object. An object conforming to
MediaTrackSupportedConstraints
的返回是通过
MediaDevices.getSupportedConstraints()
.
Because of the way interface definitions in WebIDL work, if a constraint is requested but not supported, no error will occur. Instead, the specified constraints will be applied, with any unrecognized constraints stripped from the request.That can lead to confusing and hard to debug errors, so be sure to use
getSupportedConstraints()
to retrieve this information before attempting to establish constraints if you need to know the difference between silently ignoring a constraint and a constraint being accepted.
An actual constraint set is described using an object based on the
MediaTrackConstraints
字典。
To learn more about how constraints work, see Capabilities, constraints, and settings .
Some combination—but not necessarily all—of the following properties will exist on the object.
autoGainControl
true
若
autoGainControl
constraint is supported in the current environment.
width
true
若
width
constraint is supported in the current environment.
height
true
若
height
constraint is supported in the current environment.
aspectRatio
true
若
aspectRatio
constraint is supported in the current environment.
frameRate
true
若
frameRate
constraint is supported in the current environment.
facingMode
true
若
facingMode
constraint is supported in the current environment.
resizeMode
true
若
resizeMode
constraint is supported in the current environment.
volume
true
若
volume
constraint is supported in the current environment.
sampleRate
true
若
sampleRate
constraint is supported in the current environment.
sampleSize
true
若
sampleSize
constraint is supported in the current environment.
echoCancellation
true
若
echoCancellation
constraint is supported in the current environment.
latency
true
若
latency
constraint is supported in the current environment.
noiseSuppression
true
若
noiseSuppression
constraint is supported in the current environment.
channelCount
true
若
channelCount
constraint is supported in the current environment.
deviceId
true
若
deviceId
constraint is supported in the current environment.
groupId
true
若
groupId
constraint is supported in the current environment.
For tracks containing video sources from the user's screen contents, the following additional properties are may be included in addition to those available for video tracks.
cursor
A Boolean value which is
true
若
cursor
constraint is supported in the current environment.
displaySurface
A Boolean value which is
true
若
cursor
constraint is supported in the current environment.
logicalSurface
true
若
logicalSurface
constraint is supported in the current environment.
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaTrackSupportedConstraints
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
aspectRatio
|
Chrome 52 | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
autoGainControl
|
Chrome 69 | Edge ≤79 |
Firefox
55
|
IE ? | Opera Yes | Safari ? | WebView Android 69 | Chrome Android 69 |
Firefox Android
55
|
Opera Android Yes | Safari iOS ? | Samsung Internet Android 10.0 |
channelCount
|
Chrome 52 | Edge ≤79 | Firefox 56 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 56 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
cursor
|
Chrome No | Edge No | Firefox No | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android No | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android No |
deviceId
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
displaySurface
|
Chrome No | Edge No | Firefox No | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android No | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android No |
echoCancellation
|
Chrome 52 | Edge ≤79 | Firefox 46 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 46 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
facingMode
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
frameRate
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
groupId
|
Chrome 52 | Edge ≤79 | Firefox 70 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
height
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
latency
|
Chrome 52 | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
logicalSurface
|
Chrome No | Edge No | Firefox No | IE No | Opera Yes | Safari ? | WebView Android No | Chrome Android No | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android No |
noiseSuppression
|
Chrome 69 | Edge ≤79 |
Firefox
55
|
IE ? | Opera Yes | Safari ? | WebView Android 69 | Chrome Android 69 |
Firefox Android
55
|
Opera Android Yes | Safari iOS ? | Samsung Internet Android 10.0 |
resizeMode
|
Chrome No | Edge No | Firefox No | IE ? | Opera No | Safari ? | WebView Android No | Chrome Android No | Firefox Android No | Opera Android No | Safari iOS ? | Samsung Internet Android No |
sampleRate
|
Chrome 52 | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
sampleSize
|
Chrome 52 | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
volume
弃用
非标
|
Chrome 52 | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
width
|
Chrome 52 | Edge ≤79 | Firefox 42 | IE ? | Opera Yes | Safari ? | WebView Android 52 | Chrome Android 52 | Firefox Android 42 | Opera Android Yes | Safari iOS ? | Samsung Internet Android 6.0 |
完整支持
不支持
兼容性未知
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
要求使用供应商前缀或不同名称。
MediaTrackConstraints
MediaDevices.getUserMedia()
MediaStreamTrack.getConstraints()
MediaStreamTrack.applyConstraints()
MediaStreamTrack.getSettings()
MediaTrackSupportedConstraints
AudioStreamTrack
BlobEvent
CanvasCaptureMediaStream
ConstrainBoolean
ConstrainDOMString
ConstrainDouble
ConstrainLong
DoubleRange
HTMLCanvasElement.captureStream()
LongRange
MediaDevices
MediaStream
MediaStreamTrack
MediaStreamTrackEvent
MediaTrackCapabilities
MediaTrackConstraints
MediaTrackSettings
Navigator.mediaDevices
NavigatorUserMedia
NavigatorUserMediaError
VideoStreamTrack
navigator.mediaDevices.getUserMedia()