MediaTrackSettings: deviceId 屬性

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本使用。自 2017 年 9 月以來,它已在瀏覽器中提供。

MediaTrackSettings 字典的 deviceId 屬性是一個字串,它唯一標識了對應於瀏覽會話的來源的 MediaStreamTrack 的來源。這允許您確定在呼叫 getUserMedia() 時,為了滿足您為該屬性值指定的約束條件,實際選擇了哪個值,具體描述請參見 MediaTrackConstraints.deviceId 屬性。

如果需要,您可以透過呼叫 MediaDevices.getSupportedConstraints() 並檢查返回的 MediaTrackSupportedConstraints.deviceId 的值來確定此約束是否受支援。但通常這沒有必要,因為瀏覽器會忽略它們不認識的任何約束。

由於 RTP 不包含此資訊,因此與 WebRTC RTCPeerConnection 關聯的軌道永遠不會包含此屬性。

一個字串,其值是來源的、對來源唯一的識別符號。此 ID 在同一來源的多個瀏覽會話中都是有效的,並且保證與其他所有來源都不同,因此您可以安全地使用它來請求在多個會話中使用相同的來源,例如。

然而,字串的實際值由軌道的來源決定,並且不保證其形式。儘管規範建議它應該是一個 GUID。

由於 ID 與每個來源是一對一的匹配,對於給定的來源,所有具有相同來源的軌道都將共享相同的 ID,因此 MediaStreamTrack.getCapabilities() 對於 deviceId 將始終返回一個值。這使得裝置 ID 在呼叫 MediaStreamTrack.applyConstraints() 時,對於任何約束的更改都無濟於事。

注意: 裝置 ID 在瀏覽會話之間保持不變的規則有一個例外:私密瀏覽模式將使用一個不同的 ID,並且該 ID 在每個瀏覽會話中都會發生變化。

示例

請參閱 Constraint exerciser 示例。

規範

規範
媒體捕獲和流
# dom-mediatrackconstraintset-deviceid

瀏覽器相容性

另見