Visa samtalstranskriptionstillstånd på klienten
Kommentar
Samtalsutskriftstillstånd är endast tillgängligt från Teams-möten. För närvarande finns det inget stöd för samtalstranskriptionstillstånd för Azure Communication Services till Azure Communication Services-anrop.
När du använder samtalstranskription kanske du vill meddela användarna att ett samtal transkriberas. Så här gör du.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- En användaråtkomsttoken för att aktivera den anropande klienten. Mer information finns i Skapa och hantera åtkomsttoken.
- Valfritt: Slutför snabbstarten för att lägga till röstsamtal i ditt program
Installera SDK:n
Leta upp filen build.gradle på projektnivå och lägg till mavenCentral()
i listan med lagringsplatser under buildscript
och allprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
I filen build.gradle på modulnivå lägger du sedan till följande rader i dependencies
avsnittet:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Initiera nödvändiga objekt
Om du vill skapa en CallAgent
instans måste du anropa createCallAgent
metoden på en CallClient
instans. Det här anropet returnerar asynkront ett CallAgent
instansobjekt.
Metoden createCallAgent
tar CommunicationUserCredential
som ett argument som kapslar in en åtkomsttoken.
Om du vill komma åt DeviceManager
måste du skapa en callAgent
instans först. Sedan kan du använda CallClient.getDeviceManager
metoden för att hämta DeviceManager
.
String userToken = '<user token>';
CallClient callClient = new CallClient();
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential).get();
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
Om du vill ange ett visningsnamn för anroparen använder du den här alternativa metoden:
String userToken = '<user token>';
CallClient callClient = new CallClient();
CommunicationTokenCredential tokenCredential = new CommunicationTokenCredential(userToken);
android.content.Context appContext = this.getApplicationContext(); // From within an activity, for instance
CallAgentOptions callAgentOptions = new CallAgentOptions();
callAgentOptions.setDisplayName("Alice Bob");
DeviceManager deviceManager = callClient.getDeviceManager(appContext).get();
CallAgent callAgent = callClient.createCallAgent(appContext, tokenCredential, callAgentOptions).get();
Varning
Fram till version 1.1.0 och betaversionen version 1.1.0-beta.1 av Azure Communication Services Calling Android SDK har isTranscriptionActive
och ingår Call
i addOnIsTranscriptionActiveChangedListener
objektet. För nya betaversioner har dessa API:er flyttats som en utökad funktion på Call
samma sätt som beskrivs nedan.
Samtalstranskription är en utökad funktion i kärnobjektet Call
. Du måste först hämta transkriptionsfunktionsobjektet:
TranscriptionCallFeature callTranscriptionFeature = call.feature(Features.TRANSCRIPTION);
Kontrollera sedan om anropet transkriberas genom att isTranscriptionActive
granska egenskapen callTranscriptionFeature
för . Den returnerar boolean
.
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
Du kan också prenumerera på ändringar i transkription:
private void handleCallOnIsTranscriptionChanged(PropertyChangedEvent args) {
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
}
callTranscriptionFeature.addOnIsTranscriptionActiveChangedListener(handleCallOnIsTranscriptionChanged);
Konfigurera systemet
Skapa Xcode-projektet
I Xcode skapar du ett nytt iOS-projekt och väljer mallen Enkel vyapp . Den här snabbstarten använder SwiftUI-ramverket, så du bör ange Language till Swift och ange Gränssnitt till SwiftUI.
Du kommer inte att skapa tester under den här snabbstarten. Avmarkera kryssrutan Inkludera tester .
Installera paketet och beroenden med hjälp av CocoaPods
Skapa en Podfile för ditt program, som i det här exemplet:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Kör
pod install
.Öppna
.xcworkspace
med Xcode.
Begär åtkomst till mikrofonen
För att få åtkomst till enhetens mikrofon måste du uppdatera appens egenskapslista för information med hjälp NSMicrophoneUsageDescription
av . Du anger det associerade värdet till en sträng som ska ingå i dialogrutan som systemet använder för att begära åtkomst från användaren.
Högerklicka på posten Info.plist i projektträdet och välj sedan Öppna som>källkod. Lägg till följande rader i avsnittet på den översta nivån <dict>
och spara sedan filen.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Konfigurera appramverket
Öppna projektets ContentView.swift-fil . Lägg till en import
deklaration överst i filen för att importera AzureCommunicationCalling
biblioteket. Importera dessutom AVFoundation
. Du behöver den för begäranden om ljudbehörighet i koden.
import AzureCommunicationCalling
import AVFoundation
Initiera CallAgent
Om du vill skapa en CallAgent
instans från CallClient
måste du använda en callClient.createCallAgent
metod som asynkront returnerar ett CallAgent
objekt när det har initierats.
Skicka ett CommunicationTokenCredential
objekt för att skapa en anropsklient:
import AzureCommunication
let tokenString = "token_string"
var userCredential: CommunicationTokenCredential?
do {
let options = CommunicationTokenRefreshOptions(initialToken: token, refreshProactively: true, tokenRefresher: self.fetchTokenSync)
userCredential = try CommunicationTokenCredential(withOptions: options)
} catch {
updates("Couldn't created Credential object", false)
initializationDispatchGroup!.leave()
return
}
// tokenProvider needs to be implemented by Contoso, which fetches a new token
public func fetchTokenSync(then onCompletion: TokenRefreshOnCompletion) {
let newToken = self.tokenProvider!.fetchNewToken()
onCompletion(newToken, nil)
}
Skicka objektet CommunicationTokenCredential
som du skapade till CallClient
och ange visningsnamnet:
self.callClient = CallClient()
let callAgentOptions = CallAgentOptions()
options.displayName = " iOS Azure Communication Services User"
self.callClient!.createCallAgent(userCredential: userCredential!,
options: callAgentOptions) { (callAgent, error) in
if error == nil {
print("Create agent succeeded")
self.callAgent = callAgent
} else {
print("Create agent failed")
}
})
Varning
Fram till version 1.1.0 och betaversionen version 1.1.0-beta.1 av Azure Communication Services Calling iOS SDK har isTranscriptionActive
som en del av objektet och didChangeTranscriptionState
ingår CallDelegate
i ombudetCall
. För nya betaversioner har dessa API:er flyttats som en utökad funktion på Call
samma sätt som beskrivs nedan.
Samtalstranskription är en utökad funktion i kärnobjektet Call
. Du måste först hämta transkriptionsfunktionsobjektet:
let callTranscriptionFeature = call.feature(Features.transcription)
Kontrollera sedan om anropet transkriberas genom att isTranscriptionActive
kontrollera egenskapen callTranscriptionFeature
för . Den returnerar Bool
.
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;
Du kan också prenumerera på transkriptionsändringar genom att implementera TranscriptionCallFeatureDelegate
ombud för din klass med händelsen didChangeTranscriptionState
:
callTranscriptionFeature.delegate = self
// didChangeTranscriptionState is a member of TranscriptionCallFeatureDelegate
public func transcriptionCallFeature(_ transcriptionCallFeature: TranscriptionCallFeature, didChangeTranscriptionState args: PropertyChangedEventArgs) {
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive
}
Konfigurera systemet
Skapa Visual Studio-projektet
För en UWP-app i Visual Studio 2022 skapar du ett nytt projekt för Tom app (Universell Windows). När du har angett projektnamnet kan du välja valfri Windows SDK senare än 10.0.17763.0.
För en WinUI 3-app skapar du ett nytt projekt med mallen Tom app, Paketerad (WinUI 3 i Desktop) för att konfigurera en WinUI 3-app med en enda sida. SDK för Windows-appar version 1.3 eller senare krävs.
Installera paketet och beroendena med hjälp av NuGet Package Manager
Anropande SDK-API:er och bibliotek är offentligt tillgängliga via ett NuGet-paket.
Följande steg illustrerar hur du hittar, laddar ned och installerar NuGet-paketet Calling SDK:
- Öppna NuGet Package Manager genom att välja Verktyg>NuGet Package Manager>Hantera NuGet-paket för lösning.
- Välj Bläddra och ange
Azure.Communication.Calling.WindowsClient
sedan i sökrutan. - Kontrollera att kryssrutan Inkludera förhandsversion är markerad.
- Välj paketet
Azure.Communication.Calling.WindowsClient
och väljAzure.Communication.Calling.WindowsClient
sedan 1.4.0-beta.1 eller en nyare version. - Markera kryssrutan som motsvarar Communication Services-projektet på den högra fliken.
- Välj knappen Installera.
Samtalstranskription är en utökad funktion i kärnobjektet Call
. Du måste först hämta transkriptionsfunktionsobjektet:
TranscriptionCallFeature transcriptionFeature = call.Features.Transcription;
Kontrollera sedan om anropet transkriberas genom att IsTranscriptionActive
granska egenskapen transcriptionFeature
för . Den returnerar boolean
.
boolean isTranscriptionActive = transcriptionFeature.isTranscriptionActive;
Du kan också prenumerera på ändringar i transkription:
private async void Call__OnIsTranscriptionActiveChanged(object sender, PropertyChangedEventArgs args)
boolean isTranscriptionActive = transcriptionFeature.IsTranscriptionActive();
}
transcriptionFeature.IsTranscriptionActiveChanged += Call__OnIsTranscriptionActiveChanged;