Compartir a través de


Cómo girar vídeos capturados (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows Runtime. Si estás desarrollando para Windows 10, consulta la documentación más reciente ]

Puedes girar el vídeo capturado con una cámara mediante los métodos SetPreviewRotation y SetRecordRotation en la clase MediaCapture.

El código completo para este ejemplo se muestra al final de este tema.

Requisitos previos

En este tema, se supone que puedes crear una aplicación de la Tienda Windows básica con JavaScript que use la plantilla de la Biblioteca de Windows para JavaScript. Para obtener ayuda para crear tu primera aplicación, consulta Crear la primera aplicación de la Tienda Windows con JavaScript.

Instrucciones

Paso 1: Crear el objeto MediaCapture

La clase MediaCapture contiene métodos y propiedades para administrar el vídeo capturado. Para capturar y girar el vídeo de una cámara, deberás usar InitializeAsync, StartPreviewAsync y SetPreviewRotation. Usa SetRecordRotation para establecer el giro del vídeo que se está grabando.

En este ejemplo se crea una instancia de un objeto MediaCapture nuevo y se llama a InitializeAsync para inicializar el objeto MediaCapture en la configuración predeterminada. Puedes pasar un objeto MediaCaptureInitializationSettings en InitializeAsync para especificar la configuración.

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

Paso 2: Establecer el giro del vídeo para grabar

Establece el giro de la imagen de vídeo para grabar pasando un valor de enumeración Windows.Media.Capture.VideoRotation al método SetRecordRotation del objeto MediaCapture. La enumeración VideoRotation especifica cuánto se debe girar el vídeo. Contiene valores para 0, 90, 180 y 270 grados.

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

Para obtener el valor de giro que se usará para la grabación, llama al método GetRecordRotation. Este método devuelve un valor de enumeración VideoRotation.

    var videoRotation = oMediaCapture.getRecordRotation();   

De forma similar, el giro que se usa para obtener una vista previa de un vídeo se establece mediante una llamada a los métodos GetPreviewRotation y SetPreviewRotation. Estos métodos también usan los valores de enumeración VideoRotation para especificar cuánto se debe girar el vídeo.

Paso 3: Grabar el vídeo

Después de establecer el nuevo valor de giro del vídeo, puedes grabar el vídeo girado siguiendo los pasos que se detallan a continuación en el tema sobre cómo grabar en archivos. Por lo general, debes establecer el giro del vídeo antes de inicializar el objeto 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   
}

Temas relacionados

Muestra de captura de multimedia