Partilhar via


Texto em tempo real

Importante

A funcionalidade descrita neste artigo está atualmente em visualização pública. Esta versão de pré-visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Saiba como integrar Texto em Tempo Real (RTT) em seus aplicativos de chamada para melhorar a acessibilidade e garantir que todos os participantes possam se comunicar de forma eficaz durante as reuniões.

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

Visão geral do recurso de texto em tempo real

O Texto em Tempo Real (RTT) foi concebido para facilitar a comunicação dos utilizadores que possam ter dificuldade em 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 informados. As mensagens são transmitidas através de Canais de Dados (ID 24) e estão sempre ativas, aparecendo automaticamente quando a primeira mensagem é enviada.

Nas plataformas suportadas, os dados RTT podem ser exibidos ao lado de legendas derivadas de Fala para Texto, fornecendo uma visão abrangente de todas as comunicações durante uma chamada.

Convenções de nomenclatura

Diferentes plataformas podem usar terminologia variada para propriedades relacionadas ao RTT. Abaixo está um resumo dessas diferenças:

Telemóvel (Android/iOS) Janelas (C#)
Tipo Variante
Informação Detalhes

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

RealTimeTextInfo/Details Classe

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

Property Description
SequenceId Identificador exclusivo para a sequência de mensagens.
Text O conteúdo da mensagem 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 quando a mensagem foi recebida.
UpdatedTime Carimbo de data/hora 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 de sequência e status.

Obtenha o recurso de texto em tempo real

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

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

Uso de recursos

Enviar mensagens de texto em tempo real

Vincular um campo de entrada de texto ao send() método para transmitir mensagens à medida que o usuário digita:

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...
});

Receber mensagens de texto em tempo real

Inscreva-se no evento para lidar com as OnInfoReceived 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();
    }
});

RealTimeTextInfo Classe

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

  • Remetente: informações sobre quem enviou a mensagem.
  • SequenceId: identificador exclusivo da mensagem.
  • Texto: O conteúdo da mensagem.
  • ResultType: Indica se a mensagem é parcial ou finalizada.
  • ReceivedTime: carimbo de data/hora quando a mensagem foi recebida.
  • UpdatedTime: carimbo de data/hora 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 de sequência e status.

Obtenha o recurso de texto em tempo real

Aceda à funcionalidade Texto em Tempo Real a partir do seu Call objeto:

let rttFeature = call.feature(Features.realTimeText)

Uso de recursos

Enviar mensagens de texto em tempo real

Vincular um campo de entrada de texto ao send método para transmitir mensagens à medida que o usuário digita:

@State var messageText: String = ""

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

Receber mensagens de texto em tempo real

Inscreva-se no evento para lidar com as OnInfoReceived 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 = ""
        }
    }
}

RealTimeTextInfo Classe

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

  • Remetente: informações sobre quem enviou a mensagem.
  • SequenceId: identificador exclusivo da mensagem.
  • Texto: O conteúdo da mensagem.
  • ResultType: Indica se a mensagem é parcial ou finalizada.
  • ReceivedTime: carimbo de data/hora quando a mensagem foi recebida.
  • UpdatedTime: carimbo de data/hora 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 de sequência e status.

Obtenha o recurso de texto em tempo real

Recupere o recurso Texto em Tempo Real do Call objeto:

RealTimeTextCallFeature rttFeature = call.GetRealTimeTextCallFeature();

Uso de recursos

Enviar mensagens de texto em tempo real

Conecte um campo de entrada de texto ao Send método para transmitir mensagens à medida que o usuário digita:

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

Receber mensagens de texto em tempo real

Inscreva-se no evento para lidar com as DetailsReceived 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;
    }
};

RealTimeTextDetails Classe

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

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

Próximos passos

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