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
}