Compartilhar via


Texto em tempo real

Importante

A funcionalidade descrita neste artigo está atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.

Saiba como integrar o Texto em Tempo Real (RTT) aos seus aplicativos de chamada para aprimorar a acessibilidade e garantir que todos os participantes possam se comunicar com eficácia durante as reuniões.

O RTT permite que os usuários que têm dificuldade de falar participem ativamente digitando suas mensagens, que são, a seguir, transmitidas quase em tempo real para os outros participantes da reunião. Esse recurso opera de forma integrada junto com as legendas existentes e garante que as mensagens digitadas sejam entregues prontamente sem interromper o fluxo da conversa.

Visão Geral do Recurso de Texto em Tempo Real

O Texto em Tempo Real (RTT) foi projetado para facilitar a comunicação para usuários que possam ter dificuldade de falar durante as chamadas. Ao permitir que os usuários digitem suas mensagens, o RTT garante que todos na reunião possam permanecer envolvidos e bem-informados. As mensagens são transmitidas por meio dos Canais de Dados (ID 24) e estão sempre ativas, aparecendo automaticamente quando a primeira mensagem é enviada.

Nas plataformas com suporte, os dados de RTT podem ser exibidos junto com as legendas derivadas da Conversão de Fala em Texto, fornecendo uma visão abrangente de todas as comunicações durante uma chamada.

Convenções de nomenclatura

Diferentes plataformas podem usar uma terminologia variável para as propriedades relacionadas ao RTT. Veja abaixo um resumo dessas diferenças:

Dispositivo móvel (Android/iOS) Windows (C#)
Tipo Kind
Informações Detalhes

Esses aliases são funcionalmente equivalentes e usados para manter a consistência nas diferentes plataformas.

Classe RealTimeTextInfo/Details

A classe RealTimeTextInfo (ou RealTimeTextDetails no Windows) encapsula informações sobre cada mensagem de RTT. Abaixo temos as propriedades principais:

Propriedade Descrição
SequenceId Identificador exclusivo para a sequência de mensagens.
Text O conteúdo da mensagem de RTT.
Sender Informações sobre o remetente da mensagem.
ResultType/
Kind
Indica se a mensagem é parcial ou final.
IsLocal Determina se a mensagem foi enviada pelo usuário local.
ReceivedTime Carimbo de data/hora de quando a mensagem foi recebida.
UpdatedTime Carimbo de data/hora de quando a mensagem foi atualizada pela última vez.

Modelos

Nome Descrição
RealTimeTextInfo Representa uma entrada de mensagem de texto em tempo real, incluindo informações do remetente, conteúdo da mensagem, ID da sequência e status.

Obter o Recurso de Texto em Tempo Real

Para acessar o recurso de Texto em Tempo Real, recupere-o do objeto da Call:

RealTimeTextCallFeature rttFeature = call.feature(Features.REAL_TIME_TEXT);

Uso de Recursos

Como enviar Mensagens de Texto em Tempo Real

Associe um campo de entrada de texto ao método send() para transmitir mensagens como os tipos de usuário:

EditText messageEditText = findViewById(R.id.messageEditText);
messageEditText.addTextChangedListener(new TextWatcher() {
    @Override
    public void afterTextChanged(Editable s) {
        String text = s.toString();
        rttFeature.send(text);
    }
    // Other overridden methods...
});

Como receber Mensagens de Texto em Tempo Real

Assine o evento OnInfoReceived para lidar com as mensagens recebidas:

rttFeature.addOnInfoReceivedListener((eventArgs) -> {
    RealTimeTextInfo info = eventArgs.getInfo();
    
    // Update your message list with the new info
    updateMessageList(info);
    
    // Clear the text input if the message is local and finalized
    if (info.isLocal() && info.getResultType() == RealTimeTextResultType.FINAL) {
        messageEditText.getText().clear();
    }
});

Classe RealTimeTextInfo

A classe RealTimeTextInfo fornece informações detalhadas sobre cada mensagem de texto em tempo real:

  • Remetente: informações sobre quem enviou a mensagem.
  • SequenceId: identificador exclusivo para a mensagem.
  • Texto: o conteúdo da mensagem.
  • ResultType: indica se a mensagem é parcial ou foi finalizada.
  • ReceivedTime: carimbo de data/hora de quando a mensagem foi recebida.
  • UpdatedTime: carimbo de data/hora de quando a mensagem foi atualizada pela última vez.
  • IsLocal: indica se a mensagem foi enviada pelo usuário local.

Modelos

Nome Descrição
RealTimeTextInfo Representa uma entrada de mensagem de texto em tempo real, incluindo informações do remetente, conteúdo da mensagem, ID da sequência e status.

Obter o Recurso de Texto em Tempo Real

Acesse o recurso de Texto em Tempo Real a partir do objeto da sua Call:

let rttFeature = call.feature(Features.realTimeText)

Uso de Recursos

Como enviar Mensagens de Texto em Tempo Real

Associe um campo de entrada de texto ao método send para transmitir mensagens como os tipos de usuário:

@State var messageText: String = ""

TextField("Type your message", text: $messageText)
    .onChange(of: messageText) { newText in
        rttFeature?.send(newText)
    }

Como receber Mensagens de Texto em Tempo Real

Assine o evento OnInfoReceived para lidar com as mensagens recebidas:

rttFeature?.addOnInfoReceivedListener { eventArgs in
    if let info = eventArgs.info {
        // Update your message list with the new info
        updateMessageList(info)
        
        // Clear the text input if the message is local and finalized
        if info.isLocal && info.resultType == .final {
            self.messageText = ""
        }
    }
}

Classe RealTimeTextInfo

A classe RealTimeTextInfo fornece informações detalhadas sobre cada mensagem de texto em tempo real:

  • Remetente: informações sobre quem enviou a mensagem.
  • SequenceId: identificador exclusivo para a mensagem.
  • Texto: o conteúdo da mensagem.
  • ResultType: indica se a mensagem é parcial ou foi finalizada.
  • ReceivedTime: carimbo de data/hora de quando a mensagem foi recebida.
  • UpdatedTime: carimbo de data/hora de quando a mensagem foi atualizada pela última vez.
  • IsLocal: indica se a mensagem foi enviada pelo usuário local.

Modelos

Nome Descrição
RealTimeTextDetails Representa uma entrada de mensagem de texto em tempo real, incluindo informações do remetente, conteúdo da mensagem, ID da sequência e status.

Obter o Recurso de Texto em Tempo Real

Recupere o recurso de Texto em Tempo Real a partir do objeto da sua Call:

RealTimeTextCallFeature rttFeature = call.GetRealTimeTextCallFeature();

Uso de Recursos

Como enviar Mensagens de Texto em Tempo Real

Conecte um campo de entrada de texto ao método Send para transmitir mensagens como os tipos de usuário:

TextBox messageTextBox = new TextBox();
messageTextBox.TextChanged += (sender, args) => {
    string text = messageTextBox.Text;
    rttFeature.Send(text);
};

Como receber Mensagens de Texto em Tempo Real

Assine o evento DetailsReceived para lidar com as mensagens recebidas:

rttFeature.DetailsReceived += (sender, e) => {
    RealTimeTextDetails details = e.Details;
    
    // Update your message list with the new details
    UpdateMessageList(details);
    
    // Clear the text input if the message is local and finalized
    if (details.IsLocal && details.Kind == RealTimeTextResultKind.Final) {
        messageTextBox.Text = string.Empty;
    }
};

Classe RealTimeTextDetails

A classe RealTimeTextDetails fornece informações abrangentes sobre cada mensagem de texto em tempo real:

  • Remetente: informações sobre quem enviou a mensagem.
  • SequenceId: identificador exclusivo para a mensagem.
  • Texto: o conteúdo da mensagem.
  • Tipo: indica se a mensagem é parcial ou finalizada.
  • ReceivedTime: carimbo de data/hora de quando a mensagem foi recebida.
  • UpdatedTime: carimbo de data/hora de quando a mensagem foi atualizada pela última vez.
  • IsLocal: indica se a mensagem foi enviada pelo usuário local.

Próximas etapas

Para obter mais informações, confira os seguintes artigos: