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: