Zobrazení stavu přepisu volání v klientovi
Poznámka:
Stav přepisu hovorů je dostupný jenom ze schůzek v Teams. V současné době neexistuje žádná podpora stavu přepisu volání pro volání Azure Communication Services do azure Communication Services.
Při použití přepisu volání můžete uživatelům dát vědět, že se hovor přepisuje. Postupujte následovně.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Přístupový token uživatele pro povolení volajícího klienta. Další informace najdete v tématu Vytváření a správa přístupových tokenů.
- Volitelné: Dokončením rychlého startu přidáte do aplikace hlasové hovory.
Nainstalujte sadu SDK .
Vyhledejte soubor build.gradle na úrovni projektu a přidejte mavenCentral()
ho do seznamu úložišť v části buildscript
aallprojects
:
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
Potom do souboru build.gradle na úrovni modulu přidejte do oddílu dependencies
následující řádky:
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
Inicializace požadovaných objektů
Pokud chcete vytvořit CallAgent
instanci, musíte metodu createCallAgent
CallClient
volat v instanci. Toto volání asynchronně vrátí CallAgent
objekt instance.
Metoda createCallAgent
přebírá CommunicationUserCredential
jako argument, který zapouzdřuje přístupový token.
Pokud chcete získat přístup DeviceManager
, musíte nejprve vytvořit callAgent
instanci. Pak můžete použít metodu CallClient.getDeviceManager
získat 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();
Pokud chcete nastavit zobrazovaný název volajícího, použijte tuto alternativní metodu:
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();
Upozorňující
Až do verze 1.1.0 a beta verze 1.1.0-beta.1 sady Azure Communication Services Volání sady Android SDK má isTranscriptionActive
a addOnIsTranscriptionActiveChangedListener
jsou součástí objektu Call
. U nových beta verzí se tato rozhraní API přesunula jako rozšířená funkce Call
stejně jako níže popsaná níže.
Přepis volání je rozšířená funkce základního Call
objektu. Nejprve musíte získat objekt funkce přepisu:
TranscriptionCallFeature callTranscriptionFeature = call.feature(Features.TRANSCRIPTION);
Potom zkontrolujte, jestli se hovor přepisuje, zkontrolujte isTranscriptionActive
vlastnost callTranscriptionFeature
. boolean
Vrátí .
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
Můžete se také přihlásit k odběru změn v přepisu:
private void handleCallOnIsTranscriptionChanged(PropertyChangedEvent args) {
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
}
callTranscriptionFeature.addOnIsTranscriptionActiveChangedListener(handleCallOnIsTranscriptionChanged);
Nastavení systému
Vytvoření projektu Xcode
V Xcode vytvořte nový projekt pro iOS a vyberte šablonu aplikace s jedním zobrazením . Tento rychlý start používá architekturu SwiftUI, takže byste měli nastavit jazyk na Swift a nastavit rozhraní na SwiftUI.
Během tohoto rychlého startu nebudete vytvářet testy. Zrušte zaškrtnutí políčka Zahrnout testy .
Instalace balíčku a závislostí pomocí CocoaPods
Vytvořte pro aplikaci soubor Podfile, například v tomto příkladu:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Spusťte
pod install
.Otevřete
.xcworkspace
pomocí Xcode.
Vyžádání přístupu k mikrofonu
Pokud chcete získat přístup k mikrofonu zařízení, musíte aktualizovat seznam vlastností informací aplikace pomocí NSMicrophoneUsageDescription
. Přidruženou hodnotu nastavíte na řetězec, který bude zahrnutý v dialogovém okně, které systém používá k vyžádání přístupu od uživatele.
Klikněte pravým tlačítkem myši na položku Info.plist stromu projektu a pak vyberte Open As>Source Code. Do oddílu nejvyšší úrovně <dict>
přidejte následující řádky a pak soubor uložte.
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
Nastavení architektury aplikace
Otevřete soubor ContentView.swift projektu. import
Přidejte deklaraci do horní části souboru pro import AzureCommunicationCalling
knihovny. Kromě toho import AVFoundation
. Budete ho potřebovat pro žádosti o zvuková oprávnění v kódu.
import AzureCommunicationCalling
import AVFoundation
Inicializace callagentu
Chcete-li vytvořit CallAgent
instanci z CallClient
, musíte použít metodu callClient.createCallAgent
, která asynchronně vrátí CallAgent
objekt po inicializaci.
Pokud chcete vytvořit klienta volání, předejte CommunicationTokenCredential
objekt:
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)
}
CommunicationTokenCredential
Předejte objekt, který jste vytvořiliCallClient
, a nastavte zobrazovaný název:
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")
}
})
Upozorňující
Až do verze 1.1.0 a beta verze 1.1.0-beta.1 sady Sdk pro volání iOS služby Azure Communication Services má isTranscriptionActive
jako součást objektu Call
a didChangeTranscriptionState
je součástí delegáta CallDelegate
. U nových beta verzí se tato rozhraní API přesunula jako rozšířená funkce Call
stejně jako níže popsaná níže.
Přepis volání je rozšířená funkce základního Call
objektu. Nejprve musíte získat objekt funkce přepisu:
let callTranscriptionFeature = call.feature(Features.transcription)
Pokud chcete zkontrolovat, jestli je hovor přepsán, zkontrolujte isTranscriptionActive
vlastnost callTranscriptionFeature
. Bool
Vrátí .
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;
Můžete se také přihlásit k odběru změn přepisu implementací TranscriptionCallFeatureDelegate
delegáta ve třídě s událostí didChangeTranscriptionState
:
callTranscriptionFeature.delegate = self
// didChangeTranscriptionState is a member of TranscriptionCallFeatureDelegate
public func transcriptionCallFeature(_ transcriptionCallFeature: TranscriptionCallFeature, didChangeTranscriptionState args: PropertyChangedEventArgs) {
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive
}
Nastavení systému
Vytvoření projektu sady Visual Studio
V případě aplikace pro UPW v sadě Visual Studio 2022 vytvořte nový projekt Prázdná aplikace (Univerzální windows). Po zadání názvu projektu si můžete vybrat libovolnou sadu Windows SDK později než 10.0.17763.0.
V případě aplikace WinUI 3 vytvořte nový projekt pomocí šablony Prázdná aplikace zabalená (WinUI 3 v desktopové verzi) pro nastavení jednostráňové aplikace WinUI 3. Vyžaduje se sada Windows App SDK verze 1.3 nebo novější.
Instalace balíčku a závislostí pomocí Správce balíčků NuGet
Rozhraní API a knihovny volající sady SDK jsou veřejně dostupné prostřednictvím balíčku NuGet.
Následující postup ukazuje, jak najít, stáhnout a nainstalovat balíček NuGet volající sady SDK:
- Otevřete Správce balíčků NuGet výběrem nástrojů>NuGet Správce balíčků> Nabídky NuGet pro řešení.
- Vyberte Procházet a zadejte
Azure.Communication.Calling.WindowsClient
do vyhledávacího pole. - Ujistěte se, že je zaškrtnuté políčko Zahrnout předběžné verze .
Azure.Communication.Calling.WindowsClient
Vyberte balíček a pak vyberteAzure.Communication.Calling.WindowsClient
verzi 1.4.0-beta.1 nebo novější.- Zaškrtněte políčko odpovídající projektu Komunikační služby na pravé straně.
- Vyberte tlačítko Instalovat.
Přepis volání je rozšířená funkce základního Call
objektu. Nejprve musíte získat objekt funkce přepisu:
TranscriptionCallFeature transcriptionFeature = call.Features.Transcription;
Potom zkontrolujte, jestli se hovor přepisuje, zkontrolujte IsTranscriptionActive
vlastnost transcriptionFeature
. boolean
Vrátí .
boolean isTranscriptionActive = transcriptionFeature.isTranscriptionActive;
Můžete se také přihlásit k odběru změn v přepisu:
private async void Call__OnIsTranscriptionActiveChanged(object sender, PropertyChangedEventArgs args)
boolean isTranscriptionActive = transcriptionFeature.IsTranscriptionActive();
}
transcriptionFeature.IsTranscriptionActiveChanged += Call__OnIsTranscriptionActiveChanged;