Texto en tiempo real
Importante
La funcionalidad descrita en este artículo se encuentra actualmente en versión preliminar pública. Esta versión preliminar se ofrece sin un Acuerdo de Nivel de Servicio y no se recomienda para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.
Obtenga información sobre cómo integrar Texto en tiempo real (RTT) en las aplicaciones de llamada para mejorar la accesibilidad y asegurarse de que todos los participantes puedan comunicarse de forma eficaz durante las reuniones.
La RTT permite a los usuarios que tienen dificultades para hablar participar activamente escribiendo sus mensajes, que después se transmiten casi en tiempo real a los demás participantes en la reunión. Esta característica funciona a la perfección junto con los subtítulos existentes y garantiza que los mensajes escritos se entreguen rápidamente sin interrumpir el flujo de la conversación.
Introducción a las características de texto en tiempo real
El texto en tiempo real (RTT) está diseñado para facilitar la comunicación a los usuarios que pueden tener dificultades para hablar durante las llamadas. Al permitir que los usuarios escriban sus mensajes, RTT garantiza que todos los asistentes a la reunión puedan mantenerse involucrados e informados. Los mensajes se transmiten a través de los Canales de Datos (ID 24) y siempre están activos, apareciendo automáticamente cuando se envía el primer mensaje.
En plataformas compatibles, los datos de RTT se pueden mostrar junto con subtítulos derivados de Speech to Text, lo que proporciona una vista completa de todas las comunicaciones durante una llamada.
Convenciones de nomenclatura
Las distintas plataformas pueden usar terminología variable para las propiedades relacionadas con RTT. A continuación se muestra un resumen de estas diferencias:
Móvil (Android/iOS) | Windows (C#) |
---|---|
Tipo | Variante |
Información | Detalles |
Estos alias son funcionalmente equivalentes y se usan para mantener la coherencia en distintas plataformas.
Clase RealTimeTextInfo/Details
La clase RealTimeTextInfo
(o RealTimeTextDetails
en Windows) encapsula información sobre cada mensaje de RTT. A continuación se muestran las propiedades clave:
Propiedad | Descripción |
---|---|
SequenceId |
Identificador único de la secuencia de mensajes. |
Text |
Contenido del mensaje de RTT. |
Sender |
Información sobre el remitente del mensaje. |
ResultType /Kind |
Indica si el mensaje es parcial o final. |
IsLocal |
Determina si el usuario local envió el mensaje. |
ReceivedTime |
Marca de tiempo cuando se recibió el mensaje. |
UpdatedTime |
Marca de tiempo cuando el mensaje se actualizó por última vez. |
Modelos
Nombre | Descripción |
---|---|
RealTimeTextInfo |
Representa una entrada de mensaje de texto en tiempo real, incluida la información del remitente, el contenido del mensaje, el identificador de secuencia y el estado. |
Obtención de la característica de Texto en tiempo real
Para acceder a la característica Texto en tiempo real, recupérela del objeto Call
:
RealTimeTextCallFeature rttFeature = call.feature(Features.REAL_TIME_TEXT);
Uso de características
Envío de mensajes de Texto en tiempo real
Enlace un campo de entrada de texto al método send()
para transmitir mensajes como tipos de usuario:
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...
});
Recepción de mensajes de Texto en tiempo real
Suscríbase al evento OnInfoReceived
para controlar los mensajes entrantes:
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();
}
});
Clase RealTimeTextInfo
La clase RealTimeTextInfo
proporciona información detallada sobre cada mensaje de texto en tiempo real:
- Remitente: información sobre quién envió el mensaje.
- SequenceId: identificador único del mensaje.
- Text: el contenido del mensaje.
- ResultType: indica si el mensaje es parcial o finalizado.
- ReceivedTime: marca de tiempo cuando se recibió el mensaje.
- UpdatedTime: marca de tiempo cuando el mensaje se actualizó por última vez.
- IsLocal: indica si el usuario local envió el mensaje.
Modelos
Nombre | Descripción |
---|---|
RealTimeTextInfo |
Representa una entrada de mensaje de texto en tiempo real, incluida la información del remitente, el contenido del mensaje, el identificador de secuencia y el estado. |
Obtención de la característica de Texto en tiempo real
Acceda a la característica Texto en tiempo real desde el objeto Call
:
let rttFeature = call.feature(Features.realTimeText)
Uso de características
Envío de mensajes de Texto en tiempo real
Enlace un campo de entrada de texto al método send
para transmitir mensajes como tipos de usuario:
@State var messageText: String = ""
TextField("Type your message", text: $messageText)
.onChange(of: messageText) { newText in
rttFeature?.send(newText)
}
Recepción de mensajes de Texto en tiempo real
Suscríbase al evento OnInfoReceived
para controlar los mensajes entrantes:
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 = ""
}
}
}
Clase RealTimeTextInfo
La clase RealTimeTextInfo
proporciona información detallada sobre cada mensaje de texto en tiempo real:
- Remitente: información sobre quién envió el mensaje.
- SequenceId: identificador único del mensaje.
- Text: el contenido del mensaje.
- ResultType: indica si el mensaje es parcial o finalizado.
- ReceivedTime: marca de tiempo cuando se recibió el mensaje.
- UpdatedTime: marca de tiempo cuando el mensaje se actualizó por última vez.
- IsLocal: indica si el usuario local envió el mensaje.
Modelos
Nombre | Descripción |
---|---|
RealTimeTextDetails |
Representa una entrada de mensaje de texto en tiempo real, incluida la información del remitente, el contenido del mensaje, el identificador de secuencia y el estado. |
Obtención de la característica de Texto en tiempo real
Recupere la característica Texto en tiempo real del objeto Call
:
RealTimeTextCallFeature rttFeature = call.GetRealTimeTextCallFeature();
Uso de características
Envío de mensajes de Texto en tiempo real
Conecte un campo de entrada de texto al método Send
para transmitir mensajes como tipos de usuario:
TextBox messageTextBox = new TextBox();
messageTextBox.TextChanged += (sender, args) => {
string text = messageTextBox.Text;
rttFeature.Send(text);
};
Recepción de mensajes de Texto en tiempo real
Suscríbase al evento DetailsReceived
para controlar los mensajes entrantes:
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;
}
};
Clase RealTimeTextDetails
La clase RealTimeTextDetails
proporciona información completa sobre cada mensaje de texto en tiempo real:
- Remitente: información sobre quién envió el mensaje.
- SequenceId: identificador único del mensaje.
- Text: el contenido del mensaje.
- Kind: indica si el mensaje es parcial o finalizado.
- ReceivedTime: marca de tiempo cuando se recibió el mensaje.
- UpdatedTime: marca de tiempo cuando el mensaje se actualizó por última vez.
- IsLocal: indica si el usuario local envió el mensaje.
Pasos siguientes
Vea los siguientes artículos para más información: