Habilitar as legendas ocultas para interoperabilidade do Teams
Saiba como permitir que seus usuários habilitem legendas fechadas durante um cenário de interoperabilidade do Teams em que seus usuários podem estar em uma reunião entre um usuário dos Serviços de Comunicação do Azure e um usuário cliente do Teams ou onde seus usuários estão usando os Serviços de Comunicação do Azure chamando o SDK com a identidade do Microsoft 365.
Pré-requisitos
- Conta do Azure com uma assinatura ativa, para obter detalhes, veja Criar uma conta gratuitamente.
- Recurso dos Serviços de Comunicação do Azure. Veja Criar um recurso dos Serviços de Comunicação do Azure. Salve a cadeia de conexão para esse recurso.
- Um aplicativo com chamadas de voz e vídeo; consulte nossos guias de início rápido de chamada de Voz e Vídeo.
- Tokens de acesso para usuários do Microsoft 365.
- Tokens de acesso para usuários da Identidade Externa.
- Para Legendas traduzidas, você precisa ter uma licença Premium do Teams.
Observação
Observe que você precisará ter um aplicativo de chamada de voz que use os Serviços de Comunicação do Azure chamando SDKs para acessar o recurso de legendas ocultas descrito neste guia.
Modelos
Nome | Descrição |
---|---|
CaptionsCallFeature | Recurso de chamada de API para legendas |
TeamsCaptions | API para legendas do Teams |
StartCaptionOptions | Opções da legenda oculta, como o idioma falado |
TeamsCaptionsReceivedEventArgs | Objeto de dados recebido para cada evento recebido de legendas do Teams |
Obter o recurso de legendas ocultas
Usuários da Identidade Externa e usuários do Microsoft 365
Se você estiver criando um aplicativo que permita que os usuários dos Serviços de Comunicação do Azure participem de uma reunião do Teams
CaptionsCallFeature captionsCallFeature = call.Features.Captions;
CallCaptions callCaptions = await captionsCallFeature.GetCaptionsAsync();
if (callCaptions.CaptionsKind == CaptionsKind.TeamsCaptions)
{
TeamsCaptions teamsCaptions = callCaptions as TeamsCaptions;
}
Assinar ouvintes
Adicionar um ouvinte para receber o status de legendas habilitadas/desabilitadas
teamsCaptions.CaptionsEnabledChanged += OnIsCaptionsEnabledChanged;
private void OnIsCaptionsEnabledChanged(object sender, PropertyChangedEventArgs args)
{
if (teamsCaptions.IsEnabled)
{
}
}
Adicionar ouvinte para os dados de legendas recebidos
teamsCaptions.CaptionsReceived += OnCaptionsReceived;
private void OnCaptionsReceived(object sender, TeamsCaptionsReceivedEventArgs eventArgs)
{
// Information about the speaker.
// eventArgs.Speaker
// The original text with no transcribed.
// eventArgs.SpokenText
// language identifier for the captions text.
// eventArgs.CaptionLanguage
// language identifier for the speaker.
// eventArgs.SpokenLanguage
// The transcribed text.
// eventArgs.CaptionText
// Timestamp denoting the time when the corresponding speech was made.
// eventArgs.Timestamp
// CaptionsResultKind is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// eventArgs.ResultKind
}
Adicionar um ouvinte para receber o status alterado do idioma falado ativo
teamsCaptions.ActiveSpokenLanguageChanged += OnIsActiveSpokenLanguageChanged;
private void OnIsActiveSpokenLanguageChanged(object sender, PropertyChangedEventArgs args)
{
// teamsCaptions.ActiveSpokenLanguage
}
Adicionar um ouvinte para receber o status alterado do idioma falado ativo
teamsCaptions.ActiveCaptionLanguageChanged += OnIsActiveCaptionLanguageChanged;
private void OnIsActiveCaptionLanguageChanged(object sender, PropertyChangedEventArgs args)
{
// teamsCaptions.ActiveCaptionLanguage
}
Iniciando legendas
Depois de configurar todos os ouvintes, agora você pode começar a adicionar legendas.
private async void StartCaptions()
{
var options = new StartCaptionsOptions
{
SpokenLanguage = "en-us"
};
try
{
await teamsCaptions.StartCaptionsAsync(options);
}
catch (Exception ex)
{
}
}
Parar legendas
private async void StopCaptions()
{
try
{
await teamsCaptions.StopCaptionsAsync();
}
catch (Exception ex)
{
}
}
Remover o ouvinte recebido da legenda
teamsCaptions.CaptionsReceived -= OnCaptionsReceived;
Suporte para idioma falado
Obter lista de idiomas falados com suporte
Obtenha uma lista dos idiomas falados com suporte que seus usuários podem selecionar ao habilitar as legendas ocultas.
// bcp 47 formatted language code
IReadOnlyList<string> sLanguages = teamsCaptions.SupportedSpokenLanguages;```
### Set spoken language
When the user selects the spoken language, your app can set the spoken language that it expects captions to be generated from.
``` cs
public async void SetSpokenLanguage()
{
try
{
await teamsCaptions.SetSpokenLanguageAsync("en-us");
}
catch (Exception ex)
{
}
}
Suporte à linguagem de legenda
Obter linguagem de legenda com suporte
Se sua organização tiver uma licença Premium do Teams ativa, os usuários dos Serviços de Comunicação do Azure poderão habilitar legendas traduzidas, desde que o organizador da reunião tenha uma licença Premium do Teams. Quanto aos usuários com identidades do Microsoft 365, essa verificação será feita em relação à sua própria conta de usuário se o organizador da reunião não tiver uma licença Premium do Teams.
// ISO 639-1 formatted language code
IReadOnlyList<string> cLanguages = teamsCaptions.SupportedCaptionLanguages;
Definir idioma da legenda
public async void SetCaptionLanguage()
{
try
{
await teamsCaptions.SetCaptionLanguageAsync("en");
}
catch (Exception ex)
{
}
}
Pré-requisitos
- Conta do Azure com uma assinatura ativa, para obter detalhes, veja Criar uma conta gratuitamente.
- Recurso dos Serviços de Comunicação do Azure. Veja Criar um recurso dos Serviços de Comunicação do Azure. Salve a cadeia de conexão para esse recurso.
- Um aplicativo com chamadas de voz e vídeo; consulte nossos guias de início rápido de chamada de Voz e Vídeo.
- Tokens de acesso para usuários do Microsoft 365.
- Tokens de acesso para usuários da Identidade Externa.
- Para Legendas traduzidas, você precisa ter uma licença Premium do Teams.
Observação
Observe que você precisará ter um aplicativo de chamada de voz que use os Serviços de Comunicação do Azure chamando SDKs para acessar o recurso de legendas ocultas descrito neste guia.
Modelos
Nome | Descrição |
---|---|
CaptionsCallFeature | API para legendas |
CaptionsCommon | Classe base para legendas |
StartCaptionOptions | Opções da legenda oculta, como o idioma falado |
TeamsCaptionHandler | Definição de retorno de chamada para manipular o evento CaptionsReceivedEventType |
TeamsCaptionsInfo | Estrutura de dados recebida para cada evento CaptionsReceivedEventType |
Obter o recurso de legendas ocultas
Usuários da Identidade Externa
Se você estiver criando um aplicativo que permita que os usuários dos Serviços de Comunicação do Azure participem de uma reunião do Teams.
let captionsCallFeature: SDK.CaptionsCallFeature = call.feature(SDK.Features.Captions);
Usuários do Microsoft 365
let captionsCallFeature: SDK.CaptionsCallFeature = teamsCall.feature(SDK.Features.Captions);
Obter objeto de legendas do Teams
Você precisa obter e converter o objeto de legendas para utilizar recursos específicos de legendas.
let teamsCaptions: SDK.TeamsCaptions;
if (captionsCallFeature.captions.kind === 'TeamsCaptions') {
teamsCaptions = captionsCallFeature.captions as SDK.TeamsCaptions;
}
Assinar ouvintes
Adicionar um ouvinte para receber os status de ativo/inativo das legendas
const captionsActiveChangedHandler = () => {
if (teamsCaptions.isCaptionsFeatureActive) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('CaptionsActiveChanged', captionsActiveChangedHandler);
Adicionar um ouvinte para os dados de legendas recebidos
Manipule o objeto de dados TeamsCaptionsInfo retornado.
Observação: o objeto contém uma propriedade resultType que indica se os dados são uma legenda parcial ou uma versão finalizada da legenda. ResultType partial
indica uma legenda dinâmica não editada, enquanto final
indica uma versão interpretada finalizada da frase (ou seja, inclui pontuação e capitalização).
let currentCaptionLanguage : string;
const captionsReceivedHandler : TeamsCaptionsHandler = (data: TeamsCaptionsInfo) => {
/** USER CODE HERE - E.G. RENDER TO DOM
* data.captionLanguage
* data.captionText
* data.resultType
* data.speaker
* data.spokenText
* data.timeStamp
*/
// Example code:
// Create a dom element, i.e. div, with id "captionArea" before proceeding with the sample code
if (!this._currentCaptionLanguage || this._currentCaptionLanguage === data.captionLanguage) {
let mri: string;
switch (data.speaker.identifier.kind) {
case 'communicationUser': { mri = data.speaker.identifier.communicationUserId; break; }
case 'microsoftTeamsUser': { mri = data.speaker.identifier.microsoftTeamsUserId; break; }
case 'phoneNumber': { mri = data.speaker.identifier.phoneNumber; break; }
}
const outgoingCaption = `prefix${mri.replace(/:/g, '').replace(/-/g, '')}`;
let captionArea = document.getElementById("captionArea");
const captionText = `${data.timestamp.toUTCString()}
${data.speaker.displayName}: ${data.captionText ?? data.spokenText}`;
let foundCaptionContainer = captionArea.querySelector(`.${outgoingCaption}[isNotFinal='true']`);
if (!foundCaptionContainer) {
let captionContainer = document.createElement('div');
captionContainer.setAttribute('isNotFinal', 'true');
captionContainer.style['borderBottom'] = '1px solid';
captionContainer.style['whiteSpace'] = 'pre-line';
captionContainer.textContent = captionText;
captionContainer.classList.add(newClassName);
captionArea.appendChild(captionContainer);
} else {
foundCaptionContainer.textContent = captionText;
if (captionData.resultType === 'Final') {
foundCaptionContainer.setAttribute('isNotFinal', 'false');
}
}
}
};
teamsCaptions.on('CaptionsReceived', captionsReceivedHandler);
Adicionar um ouvinte para receber o status alterado do idioma falado
const spokenLanguageChangedHandler = () => {
if (teamsCaptions.activeSpokenLanguage !== currentSpokenLanguage) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('SpokenLanguageChanged', spokenLanguageChangedHandler)
Adicionar um ouvinte para receber o status alterado do idioma falado
const captionLanguageChangedHandler = () => {
if (teamsCaptions.activeCaptionLanguage !== currentCaptionLanguage) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('CaptionLanguageChanged', captionLanguageChangedHandler)
Iniciando legendas
Depois de configurar todos os ouvintes, agora você pode começar a adicionar legendas.
try {
await teamsCaptions.startCaptions({ spokenLanguage: 'en-us' });
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Parar legendas
try {
teamsCaptions.stopCaptions();
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Cancelar a assinatura de ouvintes
teamsCaptions.off('CaptionsActiveChanged', captionsActiveChangedHandler);
teamsCaptions.off('CaptionsReceived', captionsReceivedHandler);
Suporte para idioma falado
Obter uma lista dos idiomas falados com suporte
Obtenha uma lista dos idiomas falados com suporte que seus usuários podem selecionar ao habilitar as legendas ocultas. A propriedade retorna uma matriz de idiomas no formato BCP 47.
const spokenLanguages = teamsCaptions.supportedSpokenLanguages;
Definir o idioma falado
Passe um valor na matriz de idiomas falados com suporte para garantir que o idioma solicitado tenha suporte. Por padrão, se a Contoso não fornecer nenhum idioma ou fornecer um idioma sem suporte, o idioma falado padrão será 'en-us'.
// bcp 47 formatted language code
const language = 'en-us';
// Altneratively, pass a value from the supported spoken languages array
const language = spokenLanguages[0];
try {
teamsCaptions.setSpokenLanguage(language);
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Suporte ao idioma de legenda
Obter uma lista de idiomas de legenda com suporte
Se sua organização tiver uma licença Premium do Teams ativa, você poderá permitir que os usuários usem legendas traduzidas fornecidas pelas legendas do Teams. Quanto aos usuários com uma identidade do Microsoft 365, se o organizador da reunião não tiver uma licença Premium do Teams ativa, a verificação de idioma de legendas será feita na conta de usuários do Microsoft 365.
A propriedade retorna uma matriz de códigos de idioma de duas letras no padrão ISO 639-1
.
const captionLanguages = teamsCaptions.supportedCaptionLanguages;
Definir idioma da legenda
// ISO 639-1 formatted language code
const language = 'en';
// Altneratively, pass a value from the supported caption languages array
const language = captionLanguages[0];
try {
teamsCaptions.setCaptionLanguage(language);
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Pré-requisitos
- Conta do Azure com uma assinatura ativa, para obter detalhes, veja Criar uma conta gratuitamente.
- Recurso dos Serviços de Comunicação do Azure. Veja Criar um recurso dos Serviços de Comunicação do Azure. Salve a cadeia de conexão para esse recurso.
- Um aplicativo com chamadas de voz e vídeo; consulte nossos guias de início rápido de chamada de Voz e Vídeo.
- Tokens de acesso para usuários do Microsoft 365.
- Tokens de acesso para usuários da Identidade Externa.
- Para Legendas traduzidas, você precisa ter uma licença Premium do Teams.
Observação
Observe que você precisará ter um aplicativo de chamada de voz que use os Serviços de Comunicação do Azure chamando SDKs para acessar o recurso de legendas ocultas descrito neste guia.
Modelos
Nome | Descrição |
---|---|
CaptionsCallFeature | Recurso de chamada de API para legendas |
TeamsCaptions | API para legendas do Teams |
StartCaptionOptions | Opções da legenda oculta, como o idioma falado |
TeamsCaptionsListener | Ouvinte do TeamsCaptions addOnCaptionsReceivedListener |
TeamsCaptionsReceivedEvent | Objeto de dados recebido para cada evento TeamsCaptionsListener |
Obter o recurso de legendas ocultas
Usuários da Identidade Externa e usuários do Microsoft 365
Se você estiver criando um aplicativo que permita que os usuários participem de uma reunião do Teams
CaptionsCallFeature captionsCallFeature = call.feature(Features.CAPTIONS);
captionsCallFeature.getCaptions().whenComplete(
((captions, throwable) -> {
if (throwable == null) {
CallCaptions callCaptions = captions;
if (captions.getCaptionsType() == CaptionsType.TEAMS_CAPTIONS) {
// teams captions
TeamsCaptions teamsCaptions = (TeamsCaptions) captions;
}
} else {
// get captions failed
// throwable is the exception/cause
}
}));
Assinar ouvintes
Adicionar um ouvinte para receber o status de legendas habilitadas/desabilitadas
public void addOnIsCaptionsEnabledChangedListener() {
teamsCaptions.addOnCaptionsEnabledChangedListener( (PropertyChangedEvent args) -> {
if(teamsCaptions.isEnabled()) {
// captions enabled
}
});
}
Adicionar ouvinte para os dados de legendas recebidos
TeamsCaptionsListener captionsListener = (TeamsCaptionsReceivedEvent args) -> {
// Information about the speaker.
// CallerInfo participantInfo = args.getSpeaker();
// The original text with no transcribed.
// args.getSpokenText();
// language identifier for the captions text.
// args.getCaptionLanguage();
// language identifier for the speaker.
// args.getSpokenLanguage();
// The transcribed text.
// args.getCaptionText();
// Timestamp denoting the time when the corresponding speech was made.
// args.getTimestamp();
// CaptionsResultType is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// args.getResultType() == CaptionsResultType.FINAL;
};
public void addOnCaptionsReceivedListener() {
teamsCaptions.addOnCaptionsReceivedListener(captionsListener);
}
Adicionar um ouvinte para receber o status alterado do idioma falado ativo
public void addOnActiveSpokenLanguageChangedListener() {
teamsCaptions.addOnActiveSpokenLanguageChangedListener( (PropertyChangedEvent args) -> {
// teamsCaptions.getActiveSpokenLanguage()
});
}
Adicionar um ouvinte para receber o status alterado do idioma falado ativo
public void addOnActiveCaptionLanguageChangedListener() {
teamsCaptions.addOnActiveCaptionLanguageChangedListener( (PropertyChangedEvent args) -> {
// teamsCaptions.getActiveCaptionLanguage()
});
}
Iniciando legendas
Depois de configurar todos os ouvintes, agora você pode começar a adicionar legendas.
public void startCaptions() {
StartCaptionsOptions startCaptionsOptions = new StartCaptionsOptions();
startCaptionsOptions.setSpokenLanguage("en-us");
teamsCaptions.startCaptions(startCaptionsOptions).whenComplete((result, error) -> {
if (error != null) {
}
});
}
Parar legendas
public void stopCaptions() {
teamsCaptions.stopCaptions().whenComplete((result, error) -> {
if (error != null) {
}
});
}
Remover o ouvinte recebido da legenda
public void removeOnCaptionsReceivedListener() {
teamsCaptions.removeOnCaptionsReceivedListener(captionsListener);
}
Suporte para idioma falado
Obter lista de idiomas falados com suporte
Obtenha uma lista dos idiomas falados com suporte que seus usuários podem selecionar ao habilitar as legendas ocultas.
// bcp 47 formatted language code
teamsCaptions.getSupportedSpokenLanguages();
Definir o idioma falado
Quando o usuário seleciona o idioma falado, seu aplicativo pode definir o idioma falado a partir do qual espera que as legendas sejam geradas.
public void setSpokenLanguage() {
teamsCaptions.setSpokenLanguage("en-us").whenComplete((result, error) -> {
if (error != null) {
}
});
}
Suporte ao idioma de legenda
Obter linguagem de legenda com suporte
Se sua organização tiver uma licença Premium do Teams ativa, os usuários dos Serviços de Comunicação do Azure poderão habilitar legendas traduzidas, desde que o organizador da reunião tenha uma licença Premium do Teams. Quanto aos usuários com identidades do Microsoft 365, essa verificação será feita em relação à sua própria conta de usuário se o organizador da reunião não tiver uma licença Premium do Teams.
// ISO 639-1 formatted language code
teamsCaptions.getSupportedCaptionLanguages();
Definir idioma da legenda
public void setCaptionLanguage() {
teamsCaptions.setCaptionLanguage("en").whenComplete((result, error) -> {
if (error != null) {
}
});
}
Pré-requisitos
- Conta do Azure com uma assinatura ativa, para obter detalhes, veja Criar uma conta gratuitamente.
- Recurso dos Serviços de Comunicação do Azure. Veja Criar um recurso dos Serviços de Comunicação do Azure. Salve a cadeia de conexão para esse recurso.
- Um aplicativo com chamadas de voz e vídeo; consulte nossos guias de início rápido de chamada de Voz e Vídeo.
- Tokens de acesso para usuários do Microsoft 365.
- Tokens de acesso para usuários da Identidade Externa.
- Para Legendas traduzidas, você precisa ter uma licença Premium do Teams.
Observação
Observe que você precisará ter um aplicativo de chamada de voz que use os Serviços de Comunicação do Azure chamando SDKs para acessar o recurso de legendas ocultas descrito neste guia.
Modelos
Nome | Descrição |
---|---|
CaptionsCallFeature | Recurso de chamada de API para legendas |
TeamsCaptions | API para legendas do Teams |
StartCaptionOptions | Opções da legenda oculta, como o idioma falado |
TeamsCaptionsDelegate | Delegar para legendas do Teams |
TeamsCaptionsReceivedEventArgs | Objeto de dados recebido para cada evento recebido de legendas do Teams |
Obter o recurso de legendas ocultas
Usuários da Identidade Externa e usuários do Microsoft 365
Se você estiver criando um aplicativo que permita que os usuários dos Serviços de Comunicação do Azure participem de uma reunião do Teams
if let call = self.call {
@State var captionsCallFeature = call.feature(Features.captions)
captionsCallFeature.getCaptions{(value, error) in
if let error = error {
// failed to get captions
} else {
if (value?.type == CaptionsType.teamsCaptions) {
// teams captions
@State var teamsCaptions = value as? TeamsCaptions
}
}
}
}
Assinar ouvintes
Adicione um ouvinte para receber legendas habilitadas/desabilitadas, tipo, idioma falado, status da linguagem de legenda alterado e dados recebidos
extension CallObserver: TeamsCaptionsDelegate {
// listener for receive captions enabled/disabled status
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeCaptionsEnabledState args: PropertyChangedEventArgs) {
// teamsCaptions.isEnabled
}
// listener for active spoken language state change
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveSpokenLanguageState args: PropertyChangedEventArgs) {
// teamsCaptions.activeSpokenLanguage
}
// listener for active caption language state change
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveCaptionLanguageState args: PropertyChangedEventArgs) {
// teamsCaptions.activeCaptionLanguage
}
// listener for captions data received
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didReceiveCaptions:TeamsCaptionsReceivedEventArgs) {
// Information about the speaker.
// didReceiveCaptions.speaker
// The original text with no transcribed.
// didReceiveCaptions.spokenText
// language identifier for the captions text.
// didReceiveCaptions.captionLanguage
// language identifier for the speaker.
// didReceiveCaptions.spokenLanguage
// The transcribed text.
// didReceiveCaptions.captionText
// Timestamp denoting the time when the corresponding speech was made.
// didReceiveCaptions.timestamp
// CaptionsResultType is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// didReceiveCaptions.resultType
}
}
teamsCaptions.delegate = self.callObserver
Iniciando legendas
Depois de configurar todos os ouvintes, agora você pode começar a adicionar legendas.
func startCaptions() {
guard let teamsCaptions = teamsCaptions else {
return
}
let startCaptionsOptions = StartCaptionsOptions()
startCaptionsOptions.spokenLanguage = "en-us"
teamsCaptions.startCaptions(startCaptionsOptions: startCaptionsOptions, completionHandler: { (error) in
if error != nil {
}
})
}
Parar legendas
func stopCaptions() {
teamsCaptions.stopCaptions(completionHandler: { (error) in
if error != nil {
}
})
}
Remover o ouvinte recebido da legenda
teamsCaptions?.delegate = nil
Suporte para idioma falado
Obter lista de idiomas falados com suporte
Obtenha uma lista dos idiomas falados com suporte que seus usuários podem selecionar ao habilitar as legendas ocultas.
// bcp 47 formatted language code
let spokenLanguage : String = "en-us"
for language in teamsCaptions?.supportedSpokenLanguages ?? [] {
// choose required language
spokenLanguage = language
}
Definir o idioma falado
Quando o usuário seleciona o idioma falado, seu aplicativo pode definir o idioma falado a partir do qual espera que as legendas sejam geradas.
func setSpokenLanguage() {
guard let teamsCaptions = self.teamsCaptions else {
return
}
teamsCaptions.set(spokenLanguage: spokenLanguage, completionHandler: { (error) in
if let error = error {
}
})
}
Suporte ao idioma de legenda
Obter linguagem de legenda com suporte
Se sua organização tiver uma licença Premium do Teams ativa, os usuários dos Serviços de Comunicação do Azure poderão habilitar legendas traduzidas, desde que o organizador da reunião tenha uma licença Premium do Teams. Quanto aos usuários com identidades do Microsoft 365, essa verificação será feita em relação à sua própria conta de usuário se o organizador da reunião não tiver uma licença Premium do Teams.
// ISO 639-1 formatted language code
let captionLanguage : String = "en"
for language in teamsCaptions?.supportedCaptionLanguages ?? [] {
// choose required language
captionLanguage = language
}
Definir idioma da legenda
func setCaptionLanguage() {
guard let teamsCaptions = self.teamsCaptions else {
return
}
teamsCaptions.set(captionLanguage: captionLanguage, completionHandler: { (error) in
if let error = error {
}
})
}
Limpar os recursos
Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, exclua o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele. Saiba mais sobre como limpar os recursos aqui.
Próximas etapas
Para obter mais informações, consulte os seguintes artigos:
- Saiba mais sobre os chamada de voz e vídeo.
- Saiba mais sobre a Interoperabilidade do Teams.
- Saiba mais sobre as legendas traduzidas ao vivo do Microsoft Teams.
- Saiba mais sobre a Biblioteca de Interface do Usuário