Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os SDKs dos Serviços de Comunicação do Azure podem permitir que seus usuários participem de reuniões regulares do Microsoft Teams. Veja como!
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
- Um recurso de Serviços de Comunicação implantado. Crie um recurso de Serviços de Comunicação.
- Um token de acesso de usuário para ativar o cliente de chamada. Para obter mais informações, consulte Criar e gerenciar tokens de acesso.
- Opcional: conclua o início rápido para adicionar chamadas de voz ao seu aplicativo
Instale o SDK
Use o comando npm install, para instalar o SDK Comum e de Chamada dos Serviços de Comunicação do Azure para JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Inicializar objetos necessários
Uma CallClient instância é necessária para a maioria das operações de chamada. Ao criar uma nova CallClient instância, você pode configurá-la com opções personalizadas, como uma Logger instância.
Com a instância CallClient, pode criar uma instância CallAgent chamando createCallAgent. Esse método retorna de forma assíncrona um objeto de CallAgent instância.
O createCallAgent método usa CommunicationTokenCredential como argumento. Aceita um token de acesso do utilizador.
Você pode usar o método getDeviceManager na instância CallClient para acessar deviceManager.
const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");
// Set the logger's log level
setLogLevel('verbose');
// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
console.log(...args); // Redirect log output to console
};
const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()
Gerenciar a conectividade do SDK com a infraestrutura da Microsoft
A Call Agent instância ajuda você a gerenciar chamadas (para ingressar ou iniciar chamadas). Para funcionar, seu SDK de chamada precisa se conectar à infraestrutura da Microsoft para receber notificações de chamadas recebidas e coordenar outros detalhes da chamada. O seu Call Agent tem dois estados possíveis:
Conectado - Um Call Agent valor connectionStatue significa que o SDK do Connected cliente está conectado e é capaz de receber notificações da infraestrutura da Microsoft.
Desconectado - Um Call Agent valor de estado da conexão de Disconnected indica um problema que impede o SDK de se conectar corretamente.
Call Agent devem ser recriados.
-
invalidToken: Se um token expirou ou é inválidoCall Agent, a instância se desconecta com esse erro. -
connectionIssue: Se houver um problema com o cliente se conectando à infraestrutura da Microsoft, depois de muitas novas tentativasCall Agentexpõe o erroconnectionIssue.
Você pode verificar se seu local Call Agent está conectado à infraestrutura da Microsoft inspecionando o valor atual da connectionState propriedade. Durante uma chamada ativa, você pode ouvir o connectionStateChanged evento para determinar se Call Agent muda do estado Conectado para Desconectado.
const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'
const connectionStateCallback = (args) => {
console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
// it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);
Métodos de participação em reuniões
Para participar de uma reunião do Teams, use o join método e passe um link de reunião ou as coordenadas de uma reunião.
Ingressar usando um link de reunião:
const locator = { meetingLink: '<MEETING_LINK>'}
const call = callAgent.join(locator);
Ingressar usando as coordenadas da reunião (isso está atualmente em visualização limitada):
const locator = {
threadId: <thread id>,
organizerId: <organizer id>,
tenantId: <tenant id>,
messageId: <message id>
}
const call = callAgent.join(locator);
Configure o seu sistema
Siga estes passos para configurar o seu sistema.
Criar o projeto do Visual Studio
Para uma aplicação da Plataforma Universal do Windows, no Visual Studio 2022, crie um novo projeto de Aplicação Vazia (Universal Windows). Depois de inserir o nome do projeto, sinta-se à vontade para escolher qualquer SDK do Windows posterior a 10.0.17763.0.
Para um aplicativo WinUI 3, crie um novo projeto com o modelo Aplicativo em branco, empacotado (WinUI 3 na área de trabalho) para configurar um aplicativo WinUI 3 de página única. É necessário o SDK de Aplicativos Windows versão 1.3 ou posterior.
Instalar o pacote e as dependências usando o Gerenciador de Pacotes NuGet
As APIs e bibliotecas do SDK de chamada estão disponíveis publicamente por meio de um pacote NuGet.
Para encontrar, baixar e instalar o pacote NuGet do SDK de Chamadas:
- Abra o Gestor de Pacotes NuGet selecionando Ferramentas>Gestor de Pacotes NuGet>Gerir Pacotes NuGet para a Solução.
- Selecione Procurar e digite Azure.Communication.Calling.WindowsClient na caixa de pesquisa.
- Verifique se a caixa de seleção Incluir pré-lançamento está marcada.
- Selecione o pacote Azure.Communication.Calling.WindowsClient e, em seguida, selecione Azure.Communication.Calling.WindowsClient1.4.0-beta.1 ou uma versão mais recente.
- Marque a caixa de seleção que corresponde ao projeto dos Serviços de Comunicação do Azure no painel direito.
- Selecione Instalar.
Métodos de participação em reuniões
Para participar de uma reunião do Teams, use o método e passe o contexto da aplicação CallAgent.join, JoinMeetingLocator, e JoinCallOptions.
ID da reunião e código de acesso
O TeamsMeetingIdLocator localiza uma reunião usando uma ID de reunião e uma senha. Estes podem ser encontrados nas informações de participação de uma reunião do Teams.
Um ID de reunião do Teams terá 12 caracteres e consistirá em dígitos numéricos agrupados em três (ou seja, 000 000 000 000).
Uma senha será composta por 6 caracteres do alfabeto (ou seja, aBcDeF). O código de acesso é sensível a maiúsculas e minúsculas.
String meetingId, passcode;
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);
Link da reunião
O TeamsMeetingLinkLocator localiza uma reunião usando um link para uma reunião do Teams. Isso pode ser encontrado nos detalhes de participação de uma reunião do Teams.
String meetingLink;
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);
Coordenadas da reunião
O TeamsMeetingCoordinatesLocator localiza reuniões usando uma ID de organizador, ID de locatário, ID de thread e uma ID de mensagem. Essas informações podem ser encontradas usando o Microsoft Graph.
Guid organizerId, tenantId;
String threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);
Participar na reunião utilizando localizadores
Depois de criar esses localizadores de reunião do Teams, você pode usá-lo para participar de uma reunião do Teams usando CallAgent.join como mostrado abaixo.
JoinCallOptions options = new JoinCallOptions();
call = agent.join(
getApplicationContext(),
locator,
options);
Configure o seu sistema
Siga estes passos para configurar o seu sistema.
Criar o projeto do Visual Studio
Para uma aplicação da Plataforma Universal do Windows, no Visual Studio 2022, crie um novo projeto de Aplicação Vazia (Universal Windows). Depois de inserir o nome do projeto, sinta-se à vontade para escolher qualquer SDK do Windows posterior a 10.0.17763.0.
Para um aplicativo WinUI 3, crie um novo projeto com o modelo Aplicativo em branco, empacotado (WinUI 3 na área de trabalho) para configurar um aplicativo WinUI 3 de página única. É necessário o SDK de Aplicativos Windows versão 1.3 ou posterior.
Instalar o pacote e as dependências usando o Gerenciador de Pacotes NuGet
As APIs e bibliotecas do SDK de chamada estão disponíveis publicamente por meio de um pacote NuGet.
Para encontrar, baixar e instalar o pacote NuGet do SDK de Chamadas:
- Abra o Gestor de Pacotes NuGet selecionando Ferramentas>Gestor de Pacotes NuGet>Gerir Pacotes NuGet para a Solução.
- Selecione Procurar e digite Azure.Communication.Calling.WindowsClient na caixa de pesquisa.
- Verifique se a caixa de seleção Incluir pré-lançamento está marcada.
- Selecione o pacote Azure.Communication.Calling.WindowsClient e, em seguida, selecione Azure.Communication.Calling.WindowsClient1.4.0-beta.1 ou uma versão mais recente.
- Marque a caixa de seleção que corresponde ao projeto dos Serviços de Comunicação do Azure no painel direito.
- Selecione Instalar.
Métodos de participação em reuniões
Para participar numa reunião do Teams, use o método CallAgent.join e passe um JoinMeetingLocator e um JoinCallOptions.
ID da reunião e código de acesso
O TeamsMeetingIdLocator localiza uma reunião usando uma ID de reunião e uma senha. Estes podem ser encontrados nas informações de participação de uma reunião do Teams.
Um ID de reunião do Teams terá 12 caracteres e consistirá em dígitos numéricos agrupados em três (ou seja, 000 000 000 000).
Uma senha será composta por 6 caracteres do alfabeto (ou seja, aBcDeF). O código de acesso é sensível a maiúsculas e minúsculas.
String meetingId, passcode
let locator = TeamsMeetingIdLocator(meetingId: meetingId, passcode: passcode)
Link da reunião
O TeamsMeetingLinkLocator localiza uma reunião usando um link para uma reunião do Teams. Isso pode ser encontrado nos detalhes de participação de uma reunião do Teams.
String meetingLink
let locator = TeamsMeetingLinkLocator(meetingLink: meetingLink)
Participar na reunião utilizando localizadores
Depois de criar esses localizadores de reunião do Teams, você pode usá-lo para participar de uma reunião do Teams usando CallAgent.join como mostrado abaixo.
func joinTeamsMeeting() {
// Ask permissions
AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
if granted {
let joinCallOptions = JoinCallOptions()
// Insert meeting locator code for specific join methods here
// for CallAgent callAgent
self.callAgent?.join(with: teamsMeetingLinkLocator, joinCallOptions: joinCallOptions)
}
}
}
Configure o seu sistema
Siga estes passos para configurar o seu sistema.
Criar o projeto do Visual Studio
Para uma aplicação da Plataforma Universal do Windows, no Visual Studio 2022, crie um novo projeto de Aplicação Vazia (Universal Windows). Depois de inserir o nome do projeto, sinta-se à vontade para escolher qualquer SDK do Windows posterior a 10.0.17763.0.
Para um aplicativo WinUI 3, crie um novo projeto com o modelo Aplicativo em branco, empacotado (WinUI 3 na área de trabalho) para configurar um aplicativo WinUI 3 de página única. É necessário o SDK de Aplicativos Windows versão 1.3 ou posterior.
Instalar o pacote e as dependências usando o Gerenciador de Pacotes NuGet
As APIs e bibliotecas do SDK de chamada estão disponíveis publicamente por meio de um pacote NuGet.
Para encontrar, baixar e instalar o pacote NuGet do SDK de Chamadas:
- Abra o Gestor de Pacotes NuGet selecionando Ferramentas>Gestor de Pacotes NuGet>Gerir Pacotes NuGet para a Solução.
- Selecione Procurar e digite Azure.Communication.Calling.WindowsClient na caixa de pesquisa.
- Verifique se a caixa de seleção Incluir pré-lançamento está marcada.
- Selecione o pacote Azure.Communication.Calling.WindowsClient e, em seguida, selecione Azure.Communication.Calling.WindowsClient1.4.0-beta.1 ou uma versão mais recente.
- Marque a caixa de seleção que corresponde ao projeto dos Serviços de Comunicação do Azure no painel direito.
- Selecione Instalar.
Métodos de participação em reuniões
Para participar numa reunião do Teams, use o método CallAgent.JoinAsync e passe um JoinMeetingLocator e um JoinCallOptions.
ID da reunião e código de acesso
O TeamsMeetingIdLocator localiza uma reunião usando uma ID de reunião e uma senha. Estes podem ser encontrados nas informações de participação de uma reunião do Teams.
Um ID de reunião do Teams terá 12 caracteres e consistirá em dígitos numéricos agrupados em três (ou seja, 000 000 000 000).
Uma senha será composta por 6 caracteres do alfabeto (ou seja, aBcDeF). O código de acesso é sensível a maiúsculas e minúsculas.
string meetingId, passcode;
TeamsMeetingIdLocator locator = new TeamsMeetingIdLocator(meetingId, passcode);
Link da reunião
O TeamsMeetingLinkLocator localiza uma reunião usando um link para uma reunião do Teams. Isso pode ser encontrado nos detalhes de participação de uma reunião do Teams.
string meetingLink;
TeamsMeetingLinkLocator locator = new TeamsMeetingLinkLocator(meetingLink);
Coordenadas da reunião
O TeamsMeetingCoordinatesLocator localiza reuniões usando uma ID de organizador, ID de locatário, ID de thread e uma ID de mensagem. Essas informações podem ser encontradas usando o Microsoft Graph.
Guid organizerId, tenantId;
string threadId, messageId;
TeamsMeetingCoordinatesLocator locator = new TeamsMeetingCoordinatesLocator(threadId, organizerId, tenantId, messageId);
Participar na reunião utilizando localizadores
Depois de criar esses localizadores de reunião do Teams, você pode usá-lo para participar de uma reunião do Teams usando CallAgent.JoinAsync como mostrado abaixo.
var joinCallOptions = new JoinCallOptions() {
OutgoingAudioOptions = new OutgoingAudioOptions() { IsMuted = true },
OutgoingVideoOptions = new OutgoingVideoOptions() { Streams = new OutgoingVideoStream[] { cameraStream } }
};
var call = await callAgent.JoinAsync(locator, joinCallOptions);