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.
API Screen Capture concepts et utilisation
L'API Screen Capture est relativement simple à utiliser. Sa seule méthode est MediaDevices.getDisplayMedia()
dont le but est de demander à l'utilisateur un écran ou une portion d'écran à capturer sous la forme de 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 Promise
retournée par getDisplayMedia()
résout un 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.
Ajouts à l'interface actuelle
L'API Screen Capture n'a pas sa propre interface. Cependant, elle ajoute une méthode à l'existante interface MediaDevices
.
Interface MediaDevices
MediaDevices.getDisplayMedia()
- La méthode
getDisplayMedia()
est ajoutée à l'interfaceMediaDevices
. Similaire àgetUserMedia()
, cette méthode crée une promise qui method creates a promise qui résout unMediaStream
contenant la zone d'affichage sélectionnée par l'utilisateur, dans un format qui correspond aux options spécifiées.
Ajouts aux dictionnaires actuels
L'API Screen Capture ajoute des propriétés au dictionnaire suivant définit par d'autres spécificités.
MediaTrackConstraints
MediaTrackConstraints.cursor
- Un
ConstrainDOMString
indiquant si le curseur doit ou non être inclus dans le flux de la surface d'affichage capturée, et s'il doit toujours être visible ou s'il ne doit l'être que lorsque la souris est en mouvement. MediaTrackConstraints.displaySurface
- Un
ConstrainDOMString
indiquant quel type de surface d'affichage doit être capturé. La valeur peut êtreapplication
,browser
,monitor
, ouwindow
. MediaTrackConstraints.logicalSurface
- Indique si la vidéo dans le flux représente ou non une surface d'affichage logique (c'est-à-dire une surface qui peut ne pas être entièrement visible à l'écran ou peut-être complètement hors écran). La valeur
true
indique qu'une surface d'affichage logique doit être capturée.
MediaTrackSettings
MediaTrackSettings.cursor
- Une chaîne de caractères indiquant si la surface d'affichage en cours de capture comprend ou non le curseur de la souris et, dans l'affirmative, si elle est visible uniquement lorsque la souris est en mouvement ou si elle est toujours visible. La valeur peut être
always
,motion
, ounever
. MediaTrackSettings.displaySurface
- Une chaîne indiquant le type de surface d'affichage en cours de capture. La valeur peut être
application
,browser
,monitor
, ouwindow
. MediaTrackSettings.logicalSurface
- Valeur booléenne valant
true
si la vidéo en cours de capture ne correspond pas directement à une seule zone d'affichage à l'écran.
MediaTrackSupportedConstraints
MediaTrackSupportedConstraints.cursor
- Valeur booléenne valant
true
si l'environnement actuel supporte la contrainteMediaTrackConstraints.cursor
. MediaTrackSupportedConstraints.displaySurface
- Valeur booléenne valant
true
si l'environnement actuel supporte la contrainteMediaTrackConstraints.displaySurface
. MediaTrackSupportedConstraints.logicalSurface
- Valeur booléenne valant
true
si l'environnement actuel supporte la contrainteMediaTrackConstraints.logicalSurface
.
Dictionnaires
Le dictionnaire suivant est difinit par l'API Screen Capture.
CursorCaptureConstraint
- Un type de chaîne énuméré utilisé pour fournir la valeur de la propriété
cursor
aux paramètres et aux contraintes. La valeur peut êtrealways
,motion
, ounever
. DisplayCaptureSurfaceType
- Un type de chaîne énuméré utilisé pour identifier le type de surface d'affichage à capturer. ce type est utilisé pour la propriété
displaySurface
dans les objets contraints et paramètres, et a plusieurs valeurs possiblesapplication
,browser
,monitor
, andwindow
.
Validation de Feature Policy
User agents qui supportent Feature Policy (soit en utilisant les entetes HTTP Feature-Policy
ou l'attribut <iframe>
allow
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
Caracteristiques | Statut | Commentaire |
---|---|---|
Screen Capture | Version de travail | Définition Initiale |
Compatibilité des Navigateurs
BCD tables only load in the browser