Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Esta característica de Azure Communication Services se encuentra actualmente en versión preliminar. Las características de la versión preliminar están disponibles públicamente y se pueden usar en todos los clientes nuevos y existentes de Microsoft.
Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que las funcionalidades estén restringidas.
Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Importante
Los efectos de vídeo de llamada están disponibles a partir de la versión preliminar pública 1.10.0-beta.1 del SDK de llamadas. Asegúrese de usar este o un SDK más reciente al usar efectos de vídeo.
Nota:
Esta API se proporciona como versión preliminar ("beta") para los desarrolladores y puede cambiar en función de los comentarios que recibamos.
Nota:
Esta biblioteca no se puede usar de forma independiente y solo puede funcionar cuando se usa con la biblioteca cliente de llamadas de comunicación de Azure para WebJS (https://www.npmjs.com/package/@azure/communication-calling).
Nota:
Actualmente, la compatibilidad con el explorador para crear efectos de fondo de vídeo solo se admite en Chrome y Edge Desktop Browser (Windows y Mac) y Mac Safari Desktop.
El SDK de llamadas de comunicación de Azure permite crear efectos de vídeo que otros usuarios en una llamada pueden ver. Por ejemplo, para un usuario que realiza llamadas a Azure Communication Services mediante el SDK de WebJS, ahora puede habilitar que el usuario pueda activar el desenfoque en segundo plano. Cuando el desenfoque de fondo está habilitado, un usuario puede sentirse más cómodo al realizar una llamada de vídeo que el vídeo de salida solo muestra a un usuario y el resto del contenido se difumina.
Prerrequisitos
Instalar el SDK de llamadas de Azure Communication Services
- Se requiere una cuenta de Azure con una suscripción activa. Consulte Creación de una cuenta gratuita sobre cómo crear una cuenta de Azure.
- Node.js se recomiendan las versiones de soporte técnico a largo plazo (LTS) activas.
- Recurso activo de Servicios de Comunicación. Cree un recurso de Communication Services.
- Un token de acceso de usuario para instanciar un cliente de llamada. Aprenda cómo crear y administrar token de acceso de usuarios. También puede usar la CLI de Azure y ejecutar el comando siguiente con la cadena de conexión para crear un usuario y un token de acceso. (Deberá obtener la cadena de conexión del recurso a través de Azure Portal).
- La biblioteca de cliente de llamadas de comunicación de Azure está correctamente configurada (https://www.npmjs.com/package/@azure/communication-calling).
Ejemplo de uso de la CLI de Azure para
az communication identity token issue --scope voip --connection-string "yourConnectionString"
Para más información sobre el uso de la CLI, consulte Uso de la CLI de Azure para crear y administrar tokens de acceso.
Instalación del SDK de efectos de llamada
Use el comando "npm install" para instalar el SDK de efectos de llamada de Comunicación de Azure para JavaScript.
npm install @azure/communication-calling-effects --save
Para obtener más información sobre los efectos de comunicación de llamada, visite la página del paquete de npm.
Efectos de vídeo admitidos:
Actualmente, los efectos de vídeo admiten la siguiente capacidad:
- Desenfoque de fondo
- Reemplazar el fondo por una imagen personalizada
Modelo de clase:
Nombre | Descripción |
---|---|
BackgroundBlurEffect | Clase de efecto de desenfoque del fondo. |
BackgroundReplacementEffect | Reemplazo del fondo por una clase de efecto de imagen. |
Para usar efectos de vídeo con la biblioteca cliente de llamada de Azure Communication Services, una vez que ha creado un elemento LocalVideoStream, es necesario obtener de él la API de la característica VideoEffects.
Ejemplos de código
import * as AzureCommunicationCallingSDK from '@azure/communication-calling';
import { BackgroundBlurEffect, BackgroundReplacementEffect } from '@azure/communication-calling-effects';
// Ensure you have initialized the Azure Communication Calling client library and have created a LocalVideoStream
// Get the video effects feature api on the LocalVideoStream
const videoEffectsFeatureApi = localVideoStream.feature(AzureCommunicationCallingSDK.Features.VideoEffects);
// Subscribe to useful events
videoEffectsFeatureApi.on(‘effectsStarted’, () => {
// Effects started
});
videoEffectsFeatureApi.on(‘effectsStopped’, () => {
// Effects stopped
});
videoEffectsFeatureApi.on(‘effectsError’, (error) => {
// Effects error
});
// Create the effect instance
const backgroundBlurEffect = new BackgroundBlurEffect();
// Recommended: Check if backgroundBlur is supported
const backgroundBlurSupported = await backgroundBlurEffect.isSupported();
if (backgroundBlurSupported) {
// Use the video effects feature api we created to start/stop effects
await videoEffectsFeatureApi.startEffects(backgroundBlurEffect);
}
/**
To create a background replacement with a custom image you need to provide the URL of the image you want as the background to this effect. The 'startEffects' method will fail if the URL is not of an image or is unreachable/unreadable.
Supported image formats are – png, jpg, jpeg, tiff, bmp.
*/
const backgroundImage = 'https://linkToImageFile';
// Create the effect instance
const backgroundReplacementEffect = new BackgroundReplacementEffect({
backgroundImageUrl: backgroundImage
});
// Recommended: Check if background replacement is supported:
const backgroundReplacementSupported = await backgroundReplacementEffect.isSupported();
if (backgroundReplacementSupported) {
// Use the video effects feature api as before to start/stop effects
await videoEffectsFeatureApi.startEffects(backgroundReplacementEffect);
}
//You can change the image used for this effect by passing it in the a new configure method:
const newBackgroundImage = 'https://linkToNewImageFile';
await backgroundReplacementEffect.configure({
backgroundImageUrl: newBackgroundImage
});
//You can switch the effects using the same method on the video effects feature api:
// Switch to background blur
await videoEffectsFeatureApi.startEffects(backgroundBlurEffect);
// Switch to background replacement
await videoEffectsFeatureApi.startEffects(backgroundReplacementEffect);
//To stop effects:
await videoEffectsFeatureApi.stopEffects();