MediaTrackSettings
dictionary is used to return the current values configured for each of a
MediaStreamTrack
's settings. These values will adhere as closely as possible to any constraints previously described using a
MediaTrackConstraints
object and set using
applyConstraints()
, and will adhere to the default constraints for any properties whose constraints haven't been changed, or whose customized constraints couldn't be matched.
To learn more about how constraints and settings work, see Capabilities, constraints, and settings .
Some or all of the following will be included in the object, either because it's not supported by the browser or because it's not available due to context. For example, because
RTP
doesn't provide some of these values during negotiation of a WebRTC connection, a track associated with a
RTCPeerConnection
will not include certain values, such as
facingMode
or
groupId
.
deviceId
DOMString
indicating the current value of the
deviceId
property. The device ID is a origin-unique string identifying the source of the track; this is usually a
GUID
. This value is specific to the source of the track's data and is not usable for setting constraints; it can, however, be used for initially selecting media when calling
MediaDevices.getUserMedia()
.
groupId
DOMString
indicating the current value of the
groupId
property. The group ID is a browsing session-unique string identifying the source group of the track. Two devices (as identified by the
deviceId
) are considered part of the same group if they are from the same physical device. For instance, the audio input and output devices for the speaker and microphone built into a phone would share the same group ID, since they're part of the same physical device. The microphone on a headset would have a different ID, though. This value is specific to the source of the track's data and is not usable for setting constraints; it can, however, be used for initially selecting media when calling
MediaDevices.getUserMedia()
.
autoGainControl
autoGainControl
property, which is
true
if automatic gain control is enabled and is
false
否则。
channelCount
channelCount
property, specifying the number of audio channels present on the track (therefore indicating how many audio samples exist in each audio frame). This is 1 for mono, 2 for stereo, and so forth.
echoCancellation
echoCancellation
property, specifying
true
if echo cancellation is enabled, otherwise
false
.
latency
latency
property, specifying the audio latency, in seconds. Latency is the amount of time which elapses between the start of processing the audio and the data being available to the next stop in the audio utilization process. This value is a target value; actual latency may vary to some extent for various reasons.
noiseSuppression
noiseSupression
property, which is
true
if noise suppression is enabled and is
false
否则。
sampleRate
sampleRate
property, specifying the sample rate in samples per second of the audio data. Standard CD-quality audio, for example, has a sample rate of 41,000 samples per second.
sampleSize
sampleSize
property, specifying the linear size, in bits, of each audio sample. CD-quality audio, for example, is 16-bit, so this value would be 16 in that case.
volume
volume
property, specifying the volume level of the track. This value will be between 0.0 (silent) to 1.0 (maximum supported volume).
aspectRatio
aspectRatio
property, specified precisely to 10 decimal places. This is the width of the image in pixels divided by its height in pixels. Common values include 1.3333333333 (for the classic television 4:3 "standard" aspect ratio, also used on tablets such as Apple's iPad), 1.7777777778 (for the 16:9 high-definition widescreen aspect ratio), and 1.6 (for the 16:10 aspect ratio common among widescreen computers and tablets).
facingMode
DOMString
indicating the current value of the
facingMode
property, specifying the direction the camera is facing. The value will be one of:
"user"
A camera facing the user (commonly known as a "selfie cam"), used for self-portraiture and video calling.
"environment"
A camera facing away from the user (when the user is looking at the screen). This is typically the highest quality camera on the device, used for general photography.
"left"
A camera facing toward the environment to the user's left.
"right"
A camera facing toward the environment to the user's right.
frameRate
frameRate
property, specifying how many frames of video per second the track includes. If the value can't be determined for any reason, the value will match the vertical sync rate of the device the user agent is running on.
height
height
property, specifying the height of the track's video data in pixels.
width
width
property, specifying the width of the track's video data in pixels.
resizeMode
DOMString
indicating the current value of the
resizeMode
property, specifying the mode used by the user agent to derive the resolution of the track. The value will be one of:
"none"
The track has the resolution offered by the camera, its driver or the OS.
"crop-and-scale"
The track's resolution might be the result of the user agent using cropping or downscaling from a higher camera resolution.
Tracks containing video shared from a user's screen (regardless of whether the screen data comes from the entire screen or a portion of a screen, like a window or tab) are generally treated like video tracks, with the exception that they also support the following added settings:
cursor
A
DOMString
which indicates whether or not the mouse cursor is being included in the generated stream and under what conditions. Possible values are:
always
The mouse is always visible in the video content of the {domxref("MediaStream"), unless the mouse has moved outside the area of the content.
motion
The mouse cursor is always included in the video if it's moving, and for a short time after it stops moving.
never
The mouse cursor is never included in the shared video.
displaySurface
A
DOMString
which specifies the type of source the track contains; one of:
application
The stream contains all of the windows of the application chosen by the user rendered into the one video track.
浏览器
The stream contains the contents of a single browser tab selected by the user.
monitor
The stream's video track contains the entire contents of one or more of the user's screens.
window
The stream contains a single window selected by the user for sharing.
logicalSurface
true
, indicates that the video contained in the stream's video track contains a background rendering context, rather than a user-visible one. This is
false
if the video being captured is coming from a foreground (user-visible) source.
| 规范 | 状态 | 注释 |
|---|---|---|
|
Screen Capture
The definition of 'MediaTrackSettings' in that specification. |
工作草案 | 初始定义 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
MediaTrackSettings
|
Chrome 59 | Edge ≤79 | Firefox Yes | IE ? | Opera Yes | Safari ? | WebView Android 59 | Chrome Android 59 | Firefox Android Yes | Opera Android Yes | Safari iOS ? | Samsung Internet Android 7.0 |
aspectRatio
|
Chrome Yes | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
autoGainControl
|
Chrome Yes | Edge ≤79 |
Firefox
55
|
IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes |
Firefox Android
55
|
Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
channelCount
|
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 |
cursor
|
Chrome 71 | Edge ≤79 | Firefox No | IE No | Opera Yes | Safari ? | WebView Android 71 | Chrome Android 71 | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android 10.0 |
deviceId
|
Chrome Yes | Edge ≤79 | Firefox 69 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
displaySurface
|
Chrome 71 | Edge ≤79 | Firefox No | IE No | Opera Yes | Safari ? | WebView Android 71 | Chrome Android 71 | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android 10.0 |
echoCancellation
|
Chrome Yes | Edge ≤79 | Firefox 50 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 50 | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
facingMode
|
Chrome Yes | Edge ≤79 | Firefox 69 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
frameRate
|
Chrome Yes | Edge ≤79 | Firefox 36 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 36 | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
groupId
|
Chrome Yes | Edge ≤79 | Firefox 69 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
height
|
Chrome Yes | Edge ≤79 | Firefox 36 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 36 | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
latency
|
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 |
logicalSurface
|
Chrome 71 | Edge ≤79 | Firefox No | IE No | Opera Yes | Safari ? | WebView Android 71 | Chrome Android 71 | Firefox Android No | Opera Android ? | Safari iOS ? | Samsung Internet Android 10.0 |
noiseSuppression
|
Chrome Yes | Edge ≤79 |
Firefox
55
|
IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes |
Firefox Android
55
|
Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
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 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 |
sampleSize
|
Chrome Yes | Edge ≤79 | Firefox No | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
volume
弃用
非标
|
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 |
width
|
Chrome Yes | Edge ≤79 | Firefox 36 | IE ? | Opera Yes | Safari ? | WebView Android Yes | Chrome Android Yes | Firefox Android 36 | Opera Android Yes | Safari iOS ? | Samsung Internet Android Yes |
完整支持
不支持
兼容性未知
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
要求使用供应商前缀或不同名称。
MediaDevices.getUserMedia()
MediaDevices.getDisplayMedia()
MediaStreamTrack.getConstraints()
MediaStreamTrack.applyConstraints()
MediaStreamTrack.getSettings()
MediaTrackSettings
AudioStreamTrack
BlobEvent
CanvasCaptureMediaStream
ConstrainBoolean
ConstrainDOMString
ConstrainDouble
ConstrainLong
DoubleRange
HTMLCanvasElement.captureStream()
LongRange
MediaDevices
MediaStream
MediaStreamTrack
MediaStreamTrackEvent
MediaTrackCapabilities
MediaTrackConstraints
MediaTrackSupportedConstraints
Navigator.mediaDevices
NavigatorUserMedia
NavigatorUserMediaError
VideoStreamTrack
navigator.mediaDevices.getUserMedia()