--- title: Screen Capture API slug: Web/API/Screen_Capture_API tags: - API - Capture - Conference - Media - MediaDevices - Overvew - Screen Capture - Screen Sharing - Video - Window - display - getDisplayMedia - screen translation_of: Web/API/Screen_Capture_API ---
The Screen Capture API introduces additions to the existing Media Capture and Streams API to let the user select a screen or portion of a screen (such as a window) to capture as a media stream. This stream can then be recorded or shared with others over the network.
L'API Screen Capture est relativement simple à utiliser. Sa seule méthode est {{domxref("MediaDevices.getDisplayMedia()")}} dont le but est de demander à l'utilisateur un écran ou une portion d'écran à capturer sous la forme de {{domxref("MediaStream")}}.
Pour commencer à capturer une vidéo de l'écran, il faut appeler getDisplayMedia()
dans une instance de navigator.mediaDevices
captureStream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
La {{jsxref("Promise")}} retournée par getDisplayMedia()
résout un {{domxref("MediaStream")}} qui diffuse le dédia capturé.
Voir l'article Utiliser l'API Screen Capture pour plus de détails sur l’utilisation de l’API pour capturer le contenu de l’écran sous forme de flux.
L'API Screen Capture n'a pas sa propre interface. Cependant, elle ajoute une méthode à l'existante interface {{domxref("MediaDevices")}} .
getDisplayMedia()
est ajoutée à l'interface MediaDevices
. Similaire à {{domxref("MediaDevices.getUserMedia", "getUserMedia()")}}, cette méthode crée une promise qui method creates a promise qui résout un {{domxref("MediaStream")}} contenant la zone d'affichage sélectionnée par l'utilisateur, dans un format qui correspond aux options spécifiées.L'API Screen Capture ajoute des propriétés au dictionnaire suivant définit par d'autres spécificités.
application
, browser
, monitor
, ou window
.true
indique qu'une surface d'affichage logique doit être capturée.always
, motion
, ou never
.application
, browser
, monitor
, ou window
.true
si la vidéo en cours de capture ne correspond pas directement à une seule zone d'affichage à l'écran.true
si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.cursor")}}.true
si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.displaySurface")}}.true
si l'environnement actuel supporte la contrainte {{domxref("MediaTrackConstraints.logicalSurface")}}.Le dictionnaire suivant est difinit par l'API Screen Capture.
CursorCaptureConstraint
cursor
aux paramètres et aux contraintes. La valeur peut être always
, motion
, ou never
.DisplayCaptureSurfaceType
displaySurface
dans les objets contraints et paramètres, et a plusieurs valeurs possibles application
, browser
, monitor
, and window
.{{Glossary("User agent", "User agents")}} qui supportent Feature Policy (soit en utilisant les entetes HTTP {{HTTPHeader("Feature-Policy")}} ou l'attribut {{HTMLElement("iframe")}}{{htmlattrxref("allow", "iframe")}} peut spécifier la volonté d'utiliser l'API Screen Capture API en utilisant la directive Policy Controle display-capture
:
<iframe allow="display-capture" src="/some-other-document.html">
La liste d’autorisations par défaut est self
, ce qui permet à tout contenu du document d’utiliser Screen Capture.
Voir Utiliser Feature Policy pour une explication plus en détail sur comment est utilisé Feature Policy.
Caracteristiques | Statut | Commentaire |
---|---|---|
{{SpecName('Screen Capture')}} | {{Spec2('Screen Capture')}} | Définition Initiale |
{{Compat("api.MediaDevices.getDisplayMedia")}}