Como aplicar efeitos em 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 ]
Use o método MediaCapture.AddEffectAsync para aplicar efeitos em vídeos capturados.
Efeitos podem ser um efeito integrado, tal como efeito VideoStabilization que é compatível com Windows ou o SlowMotionEffectDefinition que é compatível com Windows Phone, ou os efeitos personalizados que são MFTs (Media Foundation Transforms). Para saber mais como criar e usar MFTs, veja Media Foundation Transforms e a Amostra de Extensão de Mídia.
Objetivo: Este tutorial descreve como aplicar os efeitos no vídeo capturado.
Pré-requisitos
Este tópico presume que você possa criar um aplicativo básico do Tempo de Execução do Windows em JavaScript. Para obter ajuda para criar seu primeiro aplicativo, veja Criar seu primeiro aplicativo da Windows Store em JavaScript.
Instruções
Para adicionar um efeito a um vídeo capturado, chame o método AddEffectAsync. Esse método aceita os seguintes parâmetros:
- MediaStreamType - Um dos valores da anumeração MediaStreamType que especifica se o fluxo é para gravação de vídeo, visualização de vídeo, áudio ou fotos.
- effectActivationID - O identificador de classe da classe de tempo de execução ativável que implementa o efeito. Esse parâmetro é adicionado à cadeia de efeitos que são anexados ao fluxo de origem oriundo da fonte do dispositivo. A classe de tempo de execução deve implementar a interface IMediaExtension.
- effectSettings - Uma IPropertySet que contém parâmetros de configuração adicionais para o efeito. Se nenhuma configuração adicional for necessária para o efeito, esse parâmetro deve ser nulo.
O aplicativo pode chamar esse método várias vezes para adicionar diversos efeitos.
Este exemplo chama AddEffectAsync para adicionar o efeito VideoStabilization a um objeto MediaCapture.
// captureMgr is a MediaCapture object defined elsewhere
capturMgr.addEffectAsync(
Windows.Media.Capture.MediaStreamType.videoRecord,
"Windows.Media.VideoEffects.VideoStabilization",
null);
Observação Esse exemplo usa o VideoStabilizationEffect, que não tem suporte para aplicativos da Loja do Windows Phone, mas é possível usar AddEffectAsync para adicionar outros efeitos com suporte.
Resumo
Para obter outro exemplo sobre como aplicar um efeito em um vídeo, consulte o tópico Como adicionar estabilização de vídeo e o Exemplo de Captura de Mídia.