Aktivieren von Untertiteln für Teams-Interoperabilität
Hier erfahren Sie, wie Sie Ihren Benutzern das Aktivieren von Untertiteln während eines Teams-Interoperabilitätsszenarios ermöglichen, in dem sich Ihre Benutzer möglicherweise in einer Besprechung zwischen einem Azure Communication Services-Benutzer und einem Teams-Clientbenutzer befinden oder bei dem Ihre Benutzer das Azure Communication Services Calling SDK mit ihrer Microsoft 365-Identität verwenden.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Details finden Sie im Artikel zum Erstellen eines kostenlosen Azure-Kontos.
- Azure Communication Services-Ressource. Siehe Schnellstart: Erstellen und Verwalten einer Communication Services-Ressource. Speichern Sie die Verbindungszeichenfolge für diese Ressource.
- Eine App mit Sprach- und Videoanrufen finden Sie in unseren Schnellstarts zu Sprach - und Videoanrufen.
- Zugriffstoken für Microsoft 365-Benutzer
- Zugriffstoken für Benutzer mit externen Identitäten
- Für übersetzte Untertitel müssen Sie über eine Teams Premium-Lizenz verfügen.
Hinweis
Bitte beachten Sie, dass Sie über eine Sprachanruf-App mit Azure Communication Services-Anruf-SDKs verfügen müssen, um auf das Feature für Untertitel zuzugreifen, das in diesem Handbuch beschrieben wird.
Modelle
Name | Beschreibung |
---|---|
CaptionsCallFeature | API für Feature zum Aufrufen von Untertiteln |
TeamsCaptions | API für Teams-Untertitel |
StartCaptionOptions | Untertiteloptionen wie gesprochene Sprache |
TeamsCaptionsReceivedEventArgs | Empfangenes Datenobjekt für jedes Ereignis, bei dem Teams-Untertitel empfangen wurden |
Feature Untertitel abrufen
Benutzer mit externen Identitäten und Microsoft 365-Benutzer
Wenn Sie eine Anwendung erstellen, mit der Azure Communication Services-Benutzer an einer Teams-Besprechung teilnehmen können
CaptionsCallFeature captionsCallFeature = call.Features.Captions;
CallCaptions callCaptions = await captionsCallFeature.GetCaptionsAsync();
if (callCaptions.CaptionsKind == CaptionsKind.TeamsCaptions)
{
TeamsCaptions teamsCaptions = callCaptions as TeamsCaptions;
}
Abonnieren von Listenern
Hinzufügen eines Listeners zum Empfangen des Untertitelstatus „aktiviert/deaktiviert“
teamsCaptions.CaptionsEnabledChanged += OnIsCaptionsEnabledChanged;
private void OnIsCaptionsEnabledChanged(object sender, PropertyChangedEventArgs args)
{
if (teamsCaptions.IsEnabled)
{
}
}
Hinzufügen eines Listeners für empfangene Untertiteldaten
teamsCaptions.CaptionsReceived += OnCaptionsReceived;
private void OnCaptionsReceived(object sender, TeamsCaptionsReceivedEventArgs eventArgs)
{
// Information about the speaker.
// eventArgs.Speaker
// The original text with no transcribed.
// eventArgs.SpokenText
// language identifier for the captions text.
// eventArgs.CaptionLanguage
// language identifier for the speaker.
// eventArgs.SpokenLanguage
// The transcribed text.
// eventArgs.CaptionText
// Timestamp denoting the time when the corresponding speech was made.
// eventArgs.Timestamp
// CaptionsResultKind is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// eventArgs.ResultKind
}
Hinzufügen eines Listeners zum Empfangen des geänderten Status der aktiv gesprochenen Sprache
teamsCaptions.ActiveSpokenLanguageChanged += OnIsActiveSpokenLanguageChanged;
private void OnIsActiveSpokenLanguageChanged(object sender, PropertyChangedEventArgs args)
{
// teamsCaptions.ActiveSpokenLanguage
}
Hinzufügen eines Listeners zum Empfangen des geänderten Status der aktiven Untertitelsprache
teamsCaptions.ActiveCaptionLanguageChanged += OnIsActiveCaptionLanguageChanged;
private void OnIsActiveCaptionLanguageChanged(object sender, PropertyChangedEventArgs args)
{
// teamsCaptions.ActiveCaptionLanguage
}
Starten von Untertiteln
Nachdem Sie alle Ihre Listener eingerichtet haben, können Sie jetzt mit dem Hinzufügen von Untertiteln beginnen.
private async void StartCaptions()
{
var options = new StartCaptionsOptions
{
SpokenLanguage = "en-us"
};
try
{
await teamsCaptions.StartCaptionsAsync(options);
}
catch (Exception ex)
{
}
}
Beenden von Beschriftungen
private async void StopCaptions()
{
try
{
await teamsCaptions.StopCaptionsAsync();
}
catch (Exception ex)
{
}
}
Listener des empfangenen Untertitels entfernen
teamsCaptions.CaptionsReceived -= OnCaptionsReceived;
Sprachunterstützung
Liste der unterstützten gesprochenen Sprachen abrufen
Rufen Sie eine Liste der unterstützten gesprochenen Sprachen ab, aus denen Ihre Benutzer auswählen können, wenn Untertitel aktiviert werden.
// bcp 47 formatted language code
IReadOnlyList<string> sLanguages = teamsCaptions.SupportedSpokenLanguages;```
### Set spoken language
When the user selects the spoken language, your app can set the spoken language that it expects captions to be generated from.
``` cs
public async void SetSpokenLanguage()
{
try
{
await teamsCaptions.SetSpokenLanguageAsync("en-us");
}
catch (Exception ex)
{
}
}
Unterstützung für die Untertitelsprache
Abrufen der unterstützten Untertitelsprache
Wenn Ihre Organisation über eine aktive Teams Premium-Lizenz verfügt, können Ihre Azure Communication Services-Benutzer übersetzte Untertitel aktivieren, solange der Organisator der Besprechung eine Teams Premium-Lizenz besitzt. Bei Benutzern mit Microsoft 365-Identitäten erfolgt diese Überprüfung mit ihrem eigenen Benutzerkonto, wenn der Besprechungsorganisator keine Teams Premium-Lizenz besitzt.
// ISO 639-1 formatted language code
IReadOnlyList<string> cLanguages = teamsCaptions.SupportedCaptionLanguages;
Festlegen der Untertitelsprache
public async void SetCaptionLanguage()
{
try
{
await teamsCaptions.SetCaptionLanguageAsync("en");
}
catch (Exception ex)
{
}
}
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Details finden Sie im Artikel zum Erstellen eines kostenlosen Azure-Kontos.
- Azure Communication Services-Ressource. Siehe Schnellstart: Erstellen und Verwalten einer Communication Services-Ressource. Speichern Sie die Verbindungszeichenfolge für diese Ressource.
- Eine App mit Sprach- und Videoanrufen finden Sie in unseren Schnellstarts zu Sprach - und Videoanrufen.
- Zugriffstoken für Microsoft 365-Benutzer
- Zugriffstoken für Benutzer mit externen Identitäten
- Für übersetzte Untertitel müssen Sie über eine Teams Premium-Lizenz verfügen.
Hinweis
Bitte beachten Sie, dass Sie über eine Sprachanruf-App mit Azure Communication Services-Anruf-SDKs verfügen müssen, um auf das Feature für Untertitel zuzugreifen, das in diesem Handbuch beschrieben wird.
Modelle
Name | Beschreibung |
---|---|
CaptionsCallFeature | API für Beschriftungen |
CaptionsCommon | Basisklasse für Beschriftungen |
StartCaptionOptions | Untertiteloptionen wie gesprochene Sprache |
TeamsCaptionHandler | Rückrufdefinition für die Behandlung des CaptionsReceivedEventType-Ereignisses |
TeamsCaptionsInfo | Datenstruktur, die für jedes CaptionsReceivedEventType-Ereignis empfangen wird |
Feature Untertitel abrufen
Benutzer mit externer Identität
Wenn Sie eine Anwendung erstellen, mit der Azure Communication Services-Benutzer an einer Teams-Besprechung teilnehmen können
let captionsCallFeature: SDK.CaptionsCallFeature = call.feature(SDK.Features.Captions);
Microsoft 365-Benutzer
let captionsCallFeature: SDK.CaptionsCallFeature = teamsCall.feature(SDK.Features.Captions);
Abrufen des Teams-Untertitelobjekts
Sie müssen das Teams-Untertitelobjekt abrufen und umwandeln, um bestimmte Features von Teams-Untertiteln zu nutzen.
let teamsCaptions: SDK.TeamsCaptions;
if (captionsCallFeature.captions.kind === 'TeamsCaptions') {
teamsCaptions = captionsCallFeature.captions as SDK.TeamsCaptions;
}
Abonnieren von Listenern
Hinzufügen eines Listeners zum Empfangen von Beschriftungen mit aktivem/inaktivem Status
const captionsActiveChangedHandler = () => {
if (teamsCaptions.isCaptionsFeatureActive) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('CaptionsActiveChanged', captionsActiveChangedHandler);
Hinzufügen eines Listeners für empfangene Beschriftungsdaten
Verarbeiten Sie das zurückgegebene TeamsCaptionsInfo-Datenobjekt.
Hinweis: Das Objekt enthält eine resultType-Eigenschaft, die angibt, ob es sich bei den Daten um eine Teilbeschriftung oder eine endgültige Version der Beschriftung handelt. ResultType partial
gibt live unbearbeitete Beschriftung an, während final
eine endgültige interpretierte Version des Satzes (d. h. Interpunktion und Großschreibung) angibt.
let currentCaptionLanguage : string;
const captionsReceivedHandler : TeamsCaptionsHandler = (data: TeamsCaptionsInfo) => {
/** USER CODE HERE - E.G. RENDER TO DOM
* data.captionLanguage
* data.captionText
* data.resultType
* data.speaker
* data.spokenText
* data.timeStamp
*/
// Example code:
// Create a dom element, i.e. div, with id "captionArea" before proceeding with the sample code
if (!this._currentCaptionLanguage || this._currentCaptionLanguage === data.captionLanguage) {
let mri: string;
switch (data.speaker.identifier.kind) {
case 'communicationUser': { mri = data.speaker.identifier.communicationUserId; break; }
case 'microsoftTeamsUser': { mri = data.speaker.identifier.microsoftTeamsUserId; break; }
case 'phoneNumber': { mri = data.speaker.identifier.phoneNumber; break; }
}
const outgoingCaption = `prefix${mri.replace(/:/g, '').replace(/-/g, '')}`;
let captionArea = document.getElementById("captionArea");
const captionText = `${data.timestamp.toUTCString()}
${data.speaker.displayName}: ${data.captionText ?? data.spokenText}`;
let foundCaptionContainer = captionArea.querySelector(`.${outgoingCaption}[isNotFinal='true']`);
if (!foundCaptionContainer) {
let captionContainer = document.createElement('div');
captionContainer.setAttribute('isNotFinal', 'true');
captionContainer.style['borderBottom'] = '1px solid';
captionContainer.style['whiteSpace'] = 'pre-line';
captionContainer.textContent = captionText;
captionContainer.classList.add(newClassName);
captionArea.appendChild(captionContainer);
} else {
foundCaptionContainer.textContent = captionText;
if (captionData.resultType === 'Final') {
foundCaptionContainer.setAttribute('isNotFinal', 'false');
}
}
}
};
teamsCaptions.on('CaptionsReceived', captionsReceivedHandler);
Hinzufügen eines Listeners zum Empfangen des Status Gesprochene Sprache geändert
const spokenLanguageChangedHandler = () => {
if (teamsCaptions.activeSpokenLanguage !== currentSpokenLanguage) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('SpokenLanguageChanged', spokenLanguageChangedHandler)
Hinzufügen eines Listeners zum Empfangen des geänderten Status der Untertitelsprache
const captionLanguageChangedHandler = () => {
if (teamsCaptions.activeCaptionLanguage !== currentCaptionLanguage) {
/* USER CODE HERE - E.G. RENDER TO DOM */
}
}
teamsCaptions.on('CaptionLanguageChanged', captionLanguageChangedHandler)
Starten von Untertiteln
Nachdem Sie alle Ihre Listener eingerichtet haben, können Sie jetzt mit dem Hinzufügen von Untertiteln beginnen.
try {
await teamsCaptions.startCaptions({ spokenLanguage: 'en-us' });
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Beenden von Beschriftungen
try {
teamsCaptions.stopCaptions();
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Kündigen des Abonnements für Listener
teamsCaptions.off('CaptionsActiveChanged', captionsActiveChangedHandler);
teamsCaptions.off('CaptionsReceived', captionsReceivedHandler);
Sprachunterstützung
Abrufen einer Liste der unterstützten gesprochenen Sprachen
Rufen Sie eine Liste der unterstützten gesprochenen Sprachen ab, aus denen Ihre Benutzer auswählen können, wenn Untertitel aktiviert werden. Die Eigenschaft gibt ein Array von Sprachen im bcp 47-Format zurück.
const spokenLanguages = teamsCaptions.supportedSpokenLanguages;
Festlegen der gesprochenen Sprache
Übergeben Sie einen Wert aus dem Array mit den unterstützten gesprochenen Sprachen, um sicherzustellen, dass die angeforderte Sprache unterstützt wird. Wenn contoso standardmäßig keine Sprache oder eine nicht unterstützte Sprache bereitstellt, wird die gesprochene Sprache standardmäßig auf "en-us" festgelegt.
// bcp 47 formatted language code
const language = 'en-us';
// Altneratively, pass a value from the supported spoken languages array
const language = spokenLanguages[0];
try {
teamsCaptions.setSpokenLanguage(language);
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Unterstützung für die Untertitelsprache
Abrufen einer Liste der unterstützten Untertitelsprachen
Wenn Ihre Organisation über eine aktive Teams Premium-Lizenz verfügt, können Sie Ihren Benutzern erlauben, übersetzte Untertitel zu verwenden, die von Teams bereitgestellt werden. Wenn der Besprechungsorganisator nicht über eine aktive Teams Premium-Lizenz verfügt, wird bei Benutzern mit einer Microsoft 365-Identität die Untertitelsprachprüfung für das Microsoft 365-Benutzerkonto durchgeführt.
Die Eigenschaft gibt ein Array von Sprachcodes mit zwei Buchstaben entsprechend dem Standard von ISO 639-1
zurück.
const captionLanguages = teamsCaptions.supportedCaptionLanguages;
Festlegen der Untertitelsprache
// ISO 639-1 formatted language code
const language = 'en';
// Altneratively, pass a value from the supported caption languages array
const language = captionLanguages[0];
try {
teamsCaptions.setCaptionLanguage(language);
} catch (e) {
/* USER ERROR HANDLING CODE HERE */
}
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Details finden Sie im Artikel zum Erstellen eines kostenlosen Azure-Kontos.
- Azure Communication Services-Ressource. Siehe Schnellstart: Erstellen und Verwalten einer Communication Services-Ressource. Speichern Sie die Verbindungszeichenfolge für diese Ressource.
- Eine App mit Sprach- und Videoanrufen finden Sie in unseren Schnellstarts zu Sprach - und Videoanrufen.
- Zugriffstoken für Microsoft 365-Benutzer
- Zugriffstoken für Benutzer mit externen Identitäten
- Für übersetzte Untertitel müssen Sie über eine Teams Premium-Lizenz verfügen.
Hinweis
Bitte beachten Sie, dass Sie über eine Sprachanruf-App mit Azure Communication Services-Anruf-SDKs verfügen müssen, um auf das Feature für Untertitel zuzugreifen, das in diesem Handbuch beschrieben wird.
Modelle
Name | Beschreibung |
---|---|
CaptionsCallFeature | API für Feature zum Aufrufen von Untertiteln |
TeamsCaptions | API für Teams-Untertitel |
StartCaptionOptions | Untertiteloptionen wie gesprochene Sprache |
TeamsCaptionsListener | Listener für TeamsCaptions addOnCaptionsReceivedListener |
TeamsCaptionsReceivedEvent | Für jedes TeamsCaptionsListener-Ereignis empfangenes Datenobjekt |
Feature Untertitel abrufen
Benutzer mit externen Identitäten und Microsoft 365-Benutzer
Wenn Sie eine Anwendung erstellen, mit der Benutzer an einer Teams-Besprechung teilnehmen können
CaptionsCallFeature captionsCallFeature = call.feature(Features.CAPTIONS);
captionsCallFeature.getCaptions().whenComplete(
((captions, throwable) -> {
if (throwable == null) {
CallCaptions callCaptions = captions;
if (captions.getCaptionsType() == CaptionsType.TEAMS_CAPTIONS) {
// teams captions
TeamsCaptions teamsCaptions = (TeamsCaptions) captions;
}
} else {
// get captions failed
// throwable is the exception/cause
}
}));
Abonnieren von Listenern
Hinzufügen eines Listeners zum Empfangen des Untertitelstatus „aktiviert/deaktiviert“
public void addOnIsCaptionsEnabledChangedListener() {
teamsCaptions.addOnCaptionsEnabledChangedListener( (PropertyChangedEvent args) -> {
if(teamsCaptions.isEnabled()) {
// captions enabled
}
});
}
Hinzufügen eines Listeners für empfangene Untertiteldaten
TeamsCaptionsListener captionsListener = (TeamsCaptionsReceivedEvent args) -> {
// Information about the speaker.
// CallerInfo participantInfo = args.getSpeaker();
// The original text with no transcribed.
// args.getSpokenText();
// language identifier for the captions text.
// args.getCaptionLanguage();
// language identifier for the speaker.
// args.getSpokenLanguage();
// The transcribed text.
// args.getCaptionText();
// Timestamp denoting the time when the corresponding speech was made.
// args.getTimestamp();
// CaptionsResultType is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// args.getResultType() == CaptionsResultType.FINAL;
};
public void addOnCaptionsReceivedListener() {
teamsCaptions.addOnCaptionsReceivedListener(captionsListener);
}
Hinzufügen eines Listeners zum Empfangen des geänderten Status der aktiv gesprochenen Sprache
public void addOnActiveSpokenLanguageChangedListener() {
teamsCaptions.addOnActiveSpokenLanguageChangedListener( (PropertyChangedEvent args) -> {
// teamsCaptions.getActiveSpokenLanguage()
});
}
Hinzufügen eines Listeners zum Empfangen des geänderten Status der aktiven Untertitelsprache
public void addOnActiveCaptionLanguageChangedListener() {
teamsCaptions.addOnActiveCaptionLanguageChangedListener( (PropertyChangedEvent args) -> {
// teamsCaptions.getActiveCaptionLanguage()
});
}
Starten von Untertiteln
Nachdem Sie alle Ihre Listener eingerichtet haben, können Sie jetzt mit dem Hinzufügen von Untertiteln beginnen.
public void startCaptions() {
StartCaptionsOptions startCaptionsOptions = new StartCaptionsOptions();
startCaptionsOptions.setSpokenLanguage("en-us");
teamsCaptions.startCaptions(startCaptionsOptions).whenComplete((result, error) -> {
if (error != null) {
}
});
}
Beenden von Beschriftungen
public void stopCaptions() {
teamsCaptions.stopCaptions().whenComplete((result, error) -> {
if (error != null) {
}
});
}
Listener des empfangenen Untertitels entfernen
public void removeOnCaptionsReceivedListener() {
teamsCaptions.removeOnCaptionsReceivedListener(captionsListener);
}
Sprachunterstützung
Liste der unterstützten gesprochenen Sprachen abrufen
Rufen Sie eine Liste der unterstützten gesprochenen Sprachen ab, aus denen Ihre Benutzer auswählen können, wenn Untertitel aktiviert werden.
// bcp 47 formatted language code
teamsCaptions.getSupportedSpokenLanguages();
Festlegen der gesprochenen Sprache
Wenn der Benutzer die gesprochene Sprache auswählt, kann Ihre App die gesprochene Sprache festlegen, in der die Untertitel generiert werden sollen.
public void setSpokenLanguage() {
teamsCaptions.setSpokenLanguage("en-us").whenComplete((result, error) -> {
if (error != null) {
}
});
}
Unterstützung für die Untertitelsprache
Abrufen der unterstützten Untertitelsprache
Wenn Ihre Organisation über eine aktive Teams Premium-Lizenz verfügt, können Ihre Azure Communication Services-Benutzer übersetzte Untertitel aktivieren, solange der Organisator der Besprechung eine Teams Premium-Lizenz besitzt. Bei Benutzern mit Microsoft 365-Identitäten erfolgt diese Überprüfung mit ihrem eigenen Benutzerkonto, wenn der Besprechungsorganisator keine Teams Premium-Lizenz besitzt.
// ISO 639-1 formatted language code
teamsCaptions.getSupportedCaptionLanguages();
Festlegen der Untertitelsprache
public void setCaptionLanguage() {
teamsCaptions.setCaptionLanguage("en").whenComplete((result, error) -> {
if (error != null) {
}
});
}
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Details finden Sie im Artikel zum Erstellen eines kostenlosen Azure-Kontos.
- Azure Communication Services-Ressource. Siehe Schnellstart: Erstellen und Verwalten einer Communication Services-Ressource. Speichern Sie die Verbindungszeichenfolge für diese Ressource.
- Eine App mit Sprach- und Videoanrufen finden Sie in unseren Schnellstarts zu Sprach - und Videoanrufen.
- Zugriffstoken für Microsoft 365-Benutzer
- Zugriffstoken für Benutzer mit externen Identitäten
- Für übersetzte Untertitel müssen Sie über eine Teams Premium-Lizenz verfügen.
Hinweis
Bitte beachten Sie, dass Sie über eine Sprachanruf-App mit Azure Communication Services-Anruf-SDKs verfügen müssen, um auf das Feature für Untertitel zuzugreifen, das in diesem Handbuch beschrieben wird.
Modelle
Name | Beschreibung |
---|---|
CaptionsCallFeature | API für Feature zum Aufrufen von Untertiteln |
TeamsCaptions | API für Teams-Untertitel |
StartCaptionOptions | Untertiteloptionen wie gesprochene Sprache |
TeamsCaptionsDelegate | Delegat für Teams-Untertitel |
TeamsCaptionsReceivedEventArgs | Empfangenes Datenobjekt für jedes Ereignis, bei dem Teams-Untertitel empfangen wurden |
Feature Untertitel abrufen
Benutzer mit externen Identitäten und Microsoft 365-Benutzer
Wenn Sie eine Anwendung erstellen, mit der Azure Communication Services-Benutzer an einer Teams-Besprechung teilnehmen können
if let call = self.call {
@State var captionsCallFeature = call.feature(Features.captions)
captionsCallFeature.getCaptions{(value, error) in
if let error = error {
// failed to get captions
} else {
if (value?.type == CaptionsType.teamsCaptions) {
// teams captions
@State var teamsCaptions = value as? TeamsCaptions
}
}
}
}
Abonnieren von Listenern
Hinzufügen eines Listeners zum Empfangen des Untertitelstatus „aktiviert/deaktiviert“, der gesprochenen Sprache, des geänderten Status der Untertitelsprache und der empfangene Daten
extension CallObserver: TeamsCaptionsDelegate {
// listener for receive captions enabled/disabled status
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeCaptionsEnabledState args: PropertyChangedEventArgs) {
// teamsCaptions.isEnabled
}
// listener for active spoken language state change
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveSpokenLanguageState args: PropertyChangedEventArgs) {
// teamsCaptions.activeSpokenLanguage
}
// listener for active caption language state change
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didChangeActiveCaptionLanguageState args: PropertyChangedEventArgs) {
// teamsCaptions.activeCaptionLanguage
}
// listener for captions data received
public func teamsCaptions(_ teamsCaptions: TeamsCaptions, didReceiveCaptions:TeamsCaptionsReceivedEventArgs) {
// Information about the speaker.
// didReceiveCaptions.speaker
// The original text with no transcribed.
// didReceiveCaptions.spokenText
// language identifier for the captions text.
// didReceiveCaptions.captionLanguage
// language identifier for the speaker.
// didReceiveCaptions.spokenLanguage
// The transcribed text.
// didReceiveCaptions.captionText
// Timestamp denoting the time when the corresponding speech was made.
// didReceiveCaptions.timestamp
// CaptionsResultType is Partial if text contains partially spoken sentence.
// It is set to Final once the sentence has been completely transcribed.
// didReceiveCaptions.resultType
}
}
teamsCaptions.delegate = self.callObserver
Starten von Untertiteln
Nachdem Sie alle Ihre Listener eingerichtet haben, können Sie jetzt mit dem Hinzufügen von Untertiteln beginnen.
func startCaptions() {
guard let teamsCaptions = teamsCaptions else {
return
}
let startCaptionsOptions = StartCaptionsOptions()
startCaptionsOptions.spokenLanguage = "en-us"
teamsCaptions.startCaptions(startCaptionsOptions: startCaptionsOptions, completionHandler: { (error) in
if error != nil {
}
})
}
Beenden von Beschriftungen
func stopCaptions() {
teamsCaptions.stopCaptions(completionHandler: { (error) in
if error != nil {
}
})
}
Listener des empfangenen Untertitels entfernen
teamsCaptions?.delegate = nil
Sprachunterstützung
Liste der unterstützten gesprochenen Sprachen abrufen
Rufen Sie eine Liste der unterstützten gesprochenen Sprachen ab, aus denen Ihre Benutzer auswählen können, wenn Untertitel aktiviert werden.
// bcp 47 formatted language code
let spokenLanguage : String = "en-us"
for language in teamsCaptions?.supportedSpokenLanguages ?? [] {
// choose required language
spokenLanguage = language
}
Festlegen der gesprochenen Sprache
Wenn der Benutzer die gesprochene Sprache auswählt, kann Ihre App die gesprochene Sprache festlegen, in der die Untertitel generiert werden sollen.
func setSpokenLanguage() {
guard let teamsCaptions = self.teamsCaptions else {
return
}
teamsCaptions.set(spokenLanguage: spokenLanguage, completionHandler: { (error) in
if let error = error {
}
})
}
Unterstützung für die Untertitelsprache
Abrufen der unterstützten Untertitelsprache
Wenn Ihre Organisation über eine aktive Teams Premium-Lizenz verfügt, können Ihre Azure Communication Services-Benutzer übersetzte Untertitel aktivieren, solange der Organisator der Besprechung eine Teams Premium-Lizenz besitzt. Bei Benutzern mit Microsoft 365-Identitäten erfolgt diese Überprüfung mit ihrem eigenen Benutzerkonto, wenn der Besprechungsorganisator keine Teams Premium-Lizenz besitzt.
// ISO 639-1 formatted language code
let captionLanguage : String = "en"
for language in teamsCaptions?.supportedCaptionLanguages ?? [] {
// choose required language
captionLanguage = language
}
Festlegen der Untertitelsprache
func setCaptionLanguage() {
guard let teamsCaptions = self.teamsCaptions else {
return
}
teamsCaptions.set(captionLanguage: captionLanguage, completionHandler: { (error) in
if let error = error {
}
})
}
Bereinigen von Ressourcen
Wenn Sie ein Communication Services-Abonnement bereinigen und entfernen möchten, können Sie die Ressource oder die Ressourcengruppe löschen. Wenn Sie die Ressourcengruppe löschen, werden auch alle anderen Ressourcen gelöscht, die ihr zugeordnet sind. Weitere Informationen zum Bereinigen von Ressourcen finden Sie hier.
Nächste Schritte
Weitere Informationen finden Sie in den folgenden Artikeln:
- Hier erfahren Sie mehr zu Sprach- und Videoanrufen.
- Weitere Informationen zur Teams-Interoperabilität
- Hier erfahren Sie mehr über live übersetzte Untertitel in Microsoft Teams.
- Hier erfahren Sie mehr zur Benutzeroberflächenbibliothek.