Comment faire pivoter la vidéo capturée (HTML)

[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Vous pouvez faire pivoter une vidéo capturée à partir d’une caméra en utilisant les méthodes SetPreviewRotation et SetRecordRotation sur la classe MediaCapture.

Le code complet de cet exemple figure à la fin de la rubrique de procédure.

Prérequis

Cette rubrique suppose que vous savez créer une application du Windows Store de base en JavaScript qui reprend le modèle Bibliothèque Windows pour JavaScript. Pour obtenir de l’aide lors de la création de votre première application, voir Créer votre première application du Windows Store en JavaScript.

Instructions

Étape 1: Créer l’objet MediaCapture

La classe MediaCapture contient les méthodes et les propriétés permettant de gérer une vidéo capturée. Pour capturer une vidéo à partir d’une caméra et la faire pivoter, vous devez utiliser les éléments InitializeAsync, StartPreviewAsync et SetPreviewRotation. Utilisez l’élément SetRecordRotation pour définir la rotation de la vidéo en cours d’enregistrement.

L’exemple suivant instancie un nouvel objet MediaCapture et appelle l’élément InitializeAsync pour initialiser l’objet MediaCapture sur les valeurs par défaut. Vous pouvez transférer un objet MediaCaptureInitializationSettings dans InitializeAsync pour spécifier les paramètres.

    oMediaCapture = new Windows.Media.Capture.MediaCapture();
    oMediaCapture.initializeAsync().then(function (result) {

Étape 2: Définir la rotation de la vidéo pour l’enregistrement

Définissez la rotation de votre image vidéo pour l’enregistrement en transmettant une valeur d’énumération Windows.Media.Capture.VideoRotation à la méthode SetRecordRotation de l’objet MediaCapture. L’énumération VideoRotation spécifie la quantité de rotation de la vidéo. Elle contient des valeurs pour 0, 90, 180 et 270 degrés.

        oMediaCapture.setRecordRotation(Windows.Media.Capture.VideoRotation.clockwise90Degrees);         

Pour obtenir la valeur de rotation qui sera utilisée pour l’enregistrement, appelez la méthode GetRecordRotation. Cette méthode renvoie une valeur d’énumération VideoRotation.

    var videoRotation = oMediaCapture.getRecordRotation();   

De même, la rotation qui est utilisée pour prévisualiser une vidéo se définit via l’appel des méthodes GetPreviewRotation et SetPreviewRotation. Ces méthodes utilisent également les valeurs d’énumération VideoRotation pour spécifier la quantité de rotation de la vidéo.

Étape 3: Enregistrer la vidéo

Après avoir défini la nouvelle valeur de rotation de la vidéo, vous pouvez enregistrer la vidéo pivotée en suivant les étapes décrites dans la rubrique Comment enregistrer dans des fichiers. En règle générale, vous définissez la rotation de la vidéo avant d’initialiser l’objet MediaCapture.

var oMediaCapture;

function setRotation() {
    oMediaCapture = new Windows.Media.Capture.MediaCapture();
    oMediaCapture.initializeAsync().then(function (result) {
        // Set the video rotation value.
        oMediaCapture.setRecordRotation(Windows.Media.Capture.VideoRotation.clockwise90Degrees);         
    }, errorHandler);

    //Check rotation value;
    var videoRotation = oMediaCapture.getRecordRotation();   
    
    // Ready to start the capture session   
}

Rubriques associées

Exemple de capture multimédia