Texte en temps réel
Important
Les fonctionnalités décrites dans cet article sont actuellement en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
Découvrez comment intégrer la saisie en temps réel dans vos applications appelantes pour améliorer l’accessibilité et vous assurer que tous les participants peuvent communiquer efficacement pendant les réunions.
La saisie en temps réel permet aux utilisateurs qui ont des difficultés à parler de participer activement en tapant leurs messages, qui sont ensuite diffusés en quasi-temps réel aux autres participants à la réunion. Cette fonctionnalité s’exécute en toute transparence en même temps que les sous-titres existants et garantit que les messages tapés sont remis immédiatement sans perturber le flux de conversation.
Vue d’ensemble de la fonctionnalité Saisie en temps réel
La saisie en temps réel est conçue pour faciliter la communication des utilisateurs susceptibles d’avoir des difficultés à parler pendant les appels. En permettant aux utilisateurs de taper leurs messages, la saisie en temps réel garantit que tout le monde dans la réunion peut rester investi et informé. Les messages sont transmis via des canaux de données (ID 24) et sont toujours actifs, apparaissant automatiquement lorsque le premier message est envoyé.
Sur les plateformes prises en charge, les données de la saisie en temps réel peuvent être affichées en même temps que les sous-titres dérivés de la reconnaissance vocale, ce qui permet d’avoir une vue complète de toutes les communications pendant l’appel.
Conventions d'affectation de noms
Les différentes plateformes peuvent utiliser une terminologie qui varie pour les propriétés de la saisie en temps réel. Voici un récapitulatif de ces différences :
Mobile (Android/iOS) | Windows (C#) |
---|---|
Type | Genre |
Info | Détails |
Ces alias sont équivalents d’un point de vue fonctionnel et sont utilisés pour maintenir une cohérence entre les différentes plateformes.
Classe RealTimeTextInfo/Details
La classe RealTimeTextInfo
(ou RealTimeTextDetails
sur Windows) encapsule les informations sur chaque message de saisie en temps réel. Voici les propriétés clés :
Propriété | Description |
---|---|
SequenceId |
Identificateur unique de la séquence de messages. |
Text |
Contenu du message de saisie en temps réel. |
Sender |
Informations sur l’expéditeur du message. |
ResultType /Kind |
Indique si le message est partiel ou définitif. |
IsLocal |
Détermine si le message a été envoyé par l’utilisateur local. |
ReceivedTime |
Horodatage de la réception du message. |
UpdatedTime |
Horodatage de la dernière mise à jour du message. |
Modèles
Nom | Description |
---|---|
RealTimeTextInfo |
Représente une entrée de message de saisie en temps réel, notamment les informations de l’expéditeur, le contenu du message, l’ID de séquence et l’état. |
Obtenir la fonctionnalité Saisie en temps réel
Pour accéder à la fonctionnalité Saisie en temps réel, récupérez-la à partir de l’objet Call
:
RealTimeTextCallFeature rttFeature = call.feature(Features.REAL_TIME_TEXT);
Utilisation de fonctionnalités
Envoi de messages de saisie en temps réel
Liez un champ d’entrée de texte à la méthode send()
pour transmettre les messages au fur et à mesure que l’utilisateur les tape :
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...
});
Réception de messages de saisie en temps réel
Abonnez-vous à l’événement OnInfoReceived
pour traiter les messages entrants :
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
La classe RealTimeTextInfo
fournit des informations détaillées sur chaque message de saisie en temps réel :
- Sender : Informations sur la personne qui a envoyé le message.
- SequenceId : Identificateur unique du message.
- Text : Contenu du message.
- ResultType : Indique si le message est partiel ou finalisé.
- ReceivedTime : Horodatage de la réception du message.
- UpdatedTime : Horodatage de la dernière mise à jour du message.
- IsLocal : Indique si le message a été envoyé par l’utilisateur local.
Modèles
Nom | Description |
---|---|
RealTimeTextInfo |
Représente une entrée de message de saisie en temps réel, notamment les informations de l’expéditeur, le contenu du message, l’ID de séquence et l’état. |
Obtenir la fonctionnalité Saisie en temps réel
Accédez à la fonctionnalité Saisie en temps réel à partir de votre objet Call
:
let rttFeature = call.feature(Features.realTimeText)
Utilisation de fonctionnalités
Envoi de messages de saisie en temps réel
Liez un champ d’entrée de texte à la méthode send
pour transmettre les messages au fur et à mesure que l’utilisateur les tape :
@State var messageText: String = ""
TextField("Type your message", text: $messageText)
.onChange(of: messageText) { newText in
rttFeature?.send(newText)
}
Réception de messages de saisie en temps réel
Abonnez-vous à l’événement OnInfoReceived
pour traiter les messages entrants :
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
La classe RealTimeTextInfo
fournit des informations détaillées sur chaque message de saisie en temps réel :
- Sender : Informations sur la personne qui a envoyé le message.
- SequenceId : Identificateur unique du message.
- Text : Contenu du message.
- ResultType : Indique si le message est partiel ou finalisé.
- ReceivedTime : Horodatage de la réception du message.
- UpdatedTime : Horodatage de la dernière mise à jour du message.
- IsLocal : Indique si le message a été envoyé par l’utilisateur local.
Modèles
Nom | Description |
---|---|
RealTimeTextDetails |
Représente une entrée de message de saisie en temps réel, notamment les informations de l’expéditeur, le contenu du message, l’ID de séquence et l’état. |
Obtenir la fonctionnalité Saisie en temps réel
Récupérez la fonctionnalité Saisie en temps réel à partir de l’objet Call
:
RealTimeTextCallFeature rttFeature = call.GetRealTimeTextCallFeature();
Utilisation de fonctionnalités
Envoi de messages de saisie en temps réel
Connectez un champ d’entrée de texte à la méthode Send
pour transmettre les messages au fur et à mesure que l’utilisateur les tape :
TextBox messageTextBox = new TextBox();
messageTextBox.TextChanged += (sender, args) => {
string text = messageTextBox.Text;
rttFeature.Send(text);
};
Réception de messages de saisie en temps réel
Abonnez-vous à l’événement DetailsReceived
pour traiter les messages entrants :
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
La classe RealTimeTextDetails
fournit des informations complètes sur chaque message de saisie en temps réel :
- Sender : Informations sur la personne qui a envoyé le message.
- SequenceId : Identificateur unique du message.
- Text : Contenu du message.
- Kind : Indique si le message est partiel ou finalisé.
- ReceivedTime : Horodatage de la réception du message.
- UpdatedTime : Horodatage de la dernière mise à jour du message.
- IsLocal : Indique si le message a été envoyé par l’utilisateur local.
Étapes suivantes
Pour plus d’informations, consultez les articles suivants :