Como girar vídeos capturados (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente ]

Você pode girar o vídeo capturado em uma câmera usando os métodos SetPreviewRotation e SetRecordRotation na classe MediaCapture.

O código completo desse exemplo é listado ao final esta instrução.

Pré-requisitos

Este tópico presume que você é capaz de criar um aplicativo básico da Windows Store em JavaScript que use o modelo da Biblioteca do Windows para JavaScript. Para obter ajuda para criar seu primeiro aplicativo, veja Criar seu primeiro aplicativo da Windows Store em JavaScript.

Instruções

Etapa 1: Criar o objeto MediaCapture

A classe MediaCapture contém métodos e propriedades para o gerenciamento de vídeo capturado. Para capturar e girar o vídeo de uma câmera, você precisará usar InitializeAsync, StartPreviewAsync e SetPreviewRotation. Use SetRecordRotation para definir a rotação do vídeo que está sendo gravado.

Este exemplo cria uma instância de um novo objeto MediaCapture e chama InitializeAsync para inicializar o objeto MediaCapture com as configurações padrão. Você pode passar um objeto MediaCaptureInitializationSettings em InitializeAsync para especificar as configurações.

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

Etapa 2: Defina a rotação do vídeo para gravação

Defina a rotação da imagem do seu vídeo para gravação passando um valor de enumeração Windows.Media.Capture.VideoRotation para o método SetRecordRotation do objeto MediaCapture. A enumeração VideoRotation especifica o valor da rotação do vídeo. Ela contém valores de 0, 90, 180 e 270 graus.

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

Para obter o valor de rotação que será usado na gravação, chame o método GetRecordRotation. este método retorna um valor de enumeração VideoRotation.

    var videoRotation = oMediaCapture.getRecordRotation();   

De forma semelhante, a rotação que é usada para visualizar um vídeo é definida com as chamada aos métodos GetPreviewRotation e SetPreviewRotation. Esses métodos também usam os valores de enumeração VideoRotation para especificar o valor da rotação do vídeo.

Etapa 3: Gravar o vídeo

Após definir o novo valor de rotação do vídeo, você pode gravar o vídeo rotacionado seguindo as etapas delineadas no tópico Como gravar em arquivos. Normalmente, você definiria a rotação do vídeo antes de inicializar o 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   
}

Tópicos relacionados

Exemplo de Captura de Mídia