Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Uso de extensiones multimedia

En este tema, se explica qué son las extensiones multimedia y cómo usarlas en tu aplicación de la Tienda Windows desarrollada para Windows con JavaScript.

Presentación

Las extensiones multimedia agregan funcionalidad a la canalización multimedia de tu aplicación de la Tienda Windows. Entre algunas de las extensiones posibles, podemos mencionar efectos de audio y vídeo, efectos de captura, transcodificación, administración de derechos digitales (DRM), compatibilidad con descodificadores y codificadores nuevos o un receptor de captura personalizado. Algunas extensiones están incluidas en el sistema, como el efecto VideoStabilization y el MediaProtectionManager DRM. Puedes agregar la funcionalidad que no está incluida en el sistema mediante extensiones multimedia personalizadas.

Para obtener una muestra detallada que use extensiones multimedia personalizadas, consulta la muestra de extensiones multimedia. En esta muestra, se describe cómo crear y habilitar un efecto de escala de grises de vídeo personalizado y un descodificador personalizado. También se explica cómo usar el efecto VideoStabilization integrado.

La muestra de comunicación en tiempo real es otra muestra que usa las extensiones multimedia.

Canalización multimedia y adición y eliminación de efectos y extensiones

La Canalización de Media Foundation consiste en Fuentes multimedia, Transformaciones de Media Foundation, como efectos de vídeo, codificadores y descodificadores, y Receptores multimedia. Existen varias formas de agregar efectos y extensiones a una aplicación de la Tienda Windows. El MediaExtensionManager te permite reemplazar la fuente multimedia y los codificadores y descodificadores. Los métodos de los objetos de reproducción, captura y transcodificación te permiten agregar y quitar efectos. La clase MediaCapture te permite agregar un receptor personalizado.

La forma en que se agregan y se quitan efectos a los objetos de reproducción de audio y vídeo depende del lenguaje de programación que estés utilizando.

Para las aplicaciones de la Tienda Windows con JavaScript, usa msInsertVideoEffect, msInsertAudioEffect y msClearEffects. Estos métodos se exponen en las etiquetas de audio y video HTML5.

Para las aplicaciones de la Tienda Windows creadas para Windows con C++, C# o Visual Basic, usa MediaElement.AddAudioEffect, MediaElement.AddVideoEffect y RemoveAllEffects.

Para agregar o quitar efectos de la transcodificación, usa el MediaTranscoder.AddVideoEffect y MediaTranscoder.AddAudioEffect, MediaTranscoder.ClearEffects.

Para agregar y quitar efectos de la captura multimedia, usa el MediaCapture.AddEffectAsync y MediaCapture.ClearEffectsAsync.

Para registrar controladores de esquema, controladores de secuencias de bytes, codificadores de audio, codificadores de vídeo y descodificadores de vídeo, usa el MediaExtensionManager.

Para agregar un receptor personalizado a de la captura multimedia, usa el MediaCapture.StartRecordToCustomSinkAsync y MediaCapture.StartPreviewToCustomSinkAsync.

Se admite DRM a través del MediaProtectionManager.

Extensión integrada

Windows en tiempo de ejecución proporciona un efecto integrado para estabilizar vídeo inestable, como el vídeo que se captura con una cámara de mano.

En el tema sobre cómo agregar estabilización de vídeo, se describe cómo usar el efecto VideoStabilization en la aplicación de la Tienda Windows con JavaScript. La muestra de extensión multimedia también describe cómo usar el efecto VideoStabilization.

Extensiones personalizadas

Puedes usar extensiones multimedia personalizadas para agregar funcionalidad nueva a la canalización multimedia. Por ejemplo, podrías crear un efecto de vídeo personalizado para convertir el vídeo a escala de grises, como en la muestra de extensión multimedia. También puedes crear extensiones personalizadas para agregar compatibilidad con formatos de audio y vídeo que el sistema no admite de forma nativa.

La creación de una extensión personalizada consta de dos partes. La primera consiste en escribir el componente Media Foundation y la segunda, en incluir este componente en un objeto de extensión multimedia de Windows en tiempo de ejecución. Para obtener una muestra detallada que cree una cantidad diferente de extensiones multimedia personalizadas, consulta la muestra de extensiones multimedia.

Una extensión multimedia es un objeto híbrido que implementa las interfaces del Modelo de objetos componentes (COM) y de Windows en tiempo de ejecución. Las interfaces COM interactúan con la canalización de Microsoft Media Foundation. Las interfaces de Windows en tiempo de ejecución activan el componente e interactúan con la aplicación de la Tienda Windows.

En la mayoría de los casos, se recomienda usar Visual C++ con extensiones de componentes (C++/CX) para interactuar con Windows en tiempo de ejecución. Pero esto no es posible en el caso de los componentes híbridos que implementan interfaces COM y de Windows en tiempo de ejecución, como las extensiones multimedia. C++/CX solo puede crear objetos de Windows en tiempo de ejecución. Por lo tanto, para los objetos híbridos se recomienda usar la Biblioteca de plantillas C++ de Windows en tiempo de ejecución a fin de interactuar con Windows en tiempo de ejecución. Ten en cuenta que la Biblioteca de plantillas C++ de Windows en tiempo de ejecución tiene compatibilidad limitada con la implementación de interfaces COM.

Ten en cuenta que las extensiones personalizadas solo son accesibles para la aplicación en la que se crearon y registraron. Otras aplicaciones no pueden acceder a ellos.

Una extensión personalizada no puede invalidar un componente proporcionado por Microsoft que admita el mismo formato. Por ejemplo, debido a que Microsoft proporciona compatibilidad con MPEG-Layer 3 (MP3), una aplicación no podrá usar una extensión que esté registrada para MP3.

Hh700365.wedge(es-ar,WIN.10).gifPasos de nivel superior para crear un efecto personalizado.

  1. Crea una extensión de Media Foundation nativa e implementa IMediaExtension.
  2. Registra y activa la extensión.
  3. Agrega la extensión de la aplicación a la canalización multimedia.

Temas relacionados

Muestra de extensión multimedia
Muestra de transcodificación de multimedia
Muestra de comunicación en tiempo real
Transformaciones de Media Foundation
Cómo habilitar efectos en la etiqueta de vídeo
Cómo agregar estabilización de vídeo

 

 

Mostrar:
© 2018 Microsoft