Spec-Zone.ru › Web APIs

MediaTrackConstraints: свойство displaySurface

Ограниченная доступность

Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Свойство displaySurface словаря MediaTrackConstraints представляет собой ConstrainDOMString, описывающий предпочтительное значение для свойства displaySurface, которое можно ограничить.

Это значение устанавливается приложением для того, чтобы указать агенту пользователя тип поверхности отображения (window, browser, или monitor), предпочтительный для приложения. Оно не влияет на то, что пользователь может выбрать для совместного использования, но может использоваться для изменения порядка отображения вариантов.

При необходимости можно определить, поддерживается ли данное ограничение, проверив значение MediaTrackSupportedConstraints.displaySurface, возвращаемое в результате вызова MediaDevices.getSupportedConstraints(). Однако, как правило, это не нужно, так как браузеры проигнорируют любые ограничения, с которыми они не знакомы.

Значение

A ConstrainDOMString, который определяет тип поверхности отображения, предпочтительный для приложения. Это значение не добавляет и не удаляет источники отображения в пользовательском интерфейсе браузера, но может изменить их порядок. Вы не можете использовать это свойство для ограничения пользователя подмножеством трёх значений поверхности отображения window, browser, и monitor, но, как вы увидите ниже, вы можете увидеть, что было выбрано, и отклонить его.

См. как определяются ограничения.

Примечание: Вы не можете установить monitorTypeSurfaces: "exclude" одновременно с displaySurface: "monitor", так как эти два параметра противоречат друг другу. Попытка сделать это приведёт к тому, что связанный вызов getDisplayMedia() завершится ошибкой TypeError.

Примечания по использованию

Вы можете проверить значение, выбранное агентом пользователя после создания отображаемых медиа с помощью getDisplayMedia(), вызвав getSettings() на видео MediaStreamTrack отображаемых медиа, затем проверив значение объекта MediaTrackSettings, возвращаемого в результате вызова, и объекта displaySurface этого объекта.

Например, если ваше приложение не хочет совместно использовать монитор (что означает, что, возможно, захватывается фоновый элемент, не содержащий контент), оно может использовать код, похожий на этот:

let mayHaveBackdropFlag = false;
let displaySurface = displayStream
  .getVideoTracks()[0]
  .getSettings().displaySurface;

if (displaySurface === "monitor") {
  mayHaveBackdropFlag = true;
}

После выполнения этого кода, mayHaveBackdrop равно true, если поверхность отображения, содержащаяся в потоке, относится к типу monitor. Позднее код может использовать этот флаг, чтобы определить, следует ли выполнять специальную обработку, например, удаление или замену фона или «вырезку» отдельных областей отображения из полученных кадров видео.

Примеры

Вот несколько примеров объектов ограничений для getDisplayMedia(), которые используют свойство displaySurface.

dsConstraints = { displaySurface: "window" }; // 'browser' and 'monitor' are also possible
applyConstraints(dsConstraints);
// The user still may choose to share the monitor or the browser,
// but we indicated that a window is preferred.

Кроме того, см. пример Constraint exerciser, демонстрирующий, как используются ограничения.

Спецификации

Спецификация
Захват экрана
# dom-mediatrackconstraintset-displaysurface

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
displaySurface 107 107 Нет 93 11.1 107 Нет 73 11.3 21.0 107

См. также

  • API захвата экрана
  • Использование API захвата экрана
  • Возможности, ограничения и настройки
  • MediaTrackConstraints
  • MediaDevices.getSupportedConstraints()
  • MediaTrackSupportedConstraints

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints/displaySurface

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API