Transcriptie van aanroepen weergeven op de client

Belangrijk

De functionaliteit die in dit document wordt beschreven, is momenteel beschikbaar als openbare preview. Deze preview-versie wordt aangeboden zonder Service Level Agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.

Wanneer u gesprektranscriptie gebruikt, kunt u uw gebruikers laten weten dat er een oproep wordt transcriberen. U doet dit als volgt:

Vereisten

De SDK installeren

Zoek de build.gradle op projectniveau op en vergeet niet mavenCentral() toe te voegen aan de lijst met opslagplaatsen onder buildscript en allprojects

buildscript {
    repositories {
    ...
        mavenCentral()
    ...
    }
}
allprojects {
    repositories {
    ...
        mavenCentral()
    ...
    }
}

Voeg vervolgens in build.gradle op moduleniveau de volgende regels toe aan de sectie afhankelijkheden

dependencies {
    ...
    implementation 'com.azure.android:azure-communication-calling:1.0.0'
    ...
}

De vereiste objecten initialiseren

Als u een exemplaar CallAgent wilt maken, moet u de createCallAgent methode op een exemplaar CallClient aanroepen. Hiermee wordt asynchroon een CallAgent exemplaarobject retourneert. De createCallAgent methode gebruikt een als CommunicationUserCredential argument, waarmee een toegangs token wordt ingekapseld. Voor toegang tot de moet eerst een callAgent-exemplaar worden gemaakt en vervolgens kunt u de methode gebruiken DeviceManager CallClient.getDeviceManager om DeviceManager op te halen.

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();

Als u een weergavenaam voor de aanroeper wilt instellen, gebruikt u deze alternatieve methode:

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();

Waarschuwing

Tot versie 1.1.0 en bètaversie 1.1.0-beta.1 van de ACS Calling Android SDK zijn de en onderdeel van isTranscriptionActive addOnIsTranscriptionActiveChangedListener het Call -object. Voor nieuwe bètaversies zijn deze API's verplaatst als een uitgebreide functie Call van, net zoals hieronder wordt beschreven.

Notitie

Deze API is beschikbaar als preview-versie voor ontwikkelaars en wordt mogelijk gewijzigd op basis van de feedback die we ontvangen. Gebruik deze API niet in een productie-omgeving. Als u deze API wilt gebruiken, gebruikt u de bètaversie van ACS Calling Android SDK

Transcriptie van aanroepen is een uitgebreide functie van het Call kernobject. U moet eerst het transcriptiefunctieobject verkrijgen:

TranscriptionCallFeature callTranscriptionFeature = call.feature(Features.TRANSCRIPTION);

Controleer vervolgens de eigenschap van om te controleren of de aanroep wordt isTranscriptionActive getranscriscribeerd. callTranscriptionFeature Deze retourneert boolean .

boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();

U kunt zich ook abonneren op wijzigingen in transcriptie:

private void handleCallOnIsTranscriptionChanged(PropertyChangedEvent args) {
    boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
}

callTranscriptionFeature.addOnIsTranscriptionActiveChangedListener(handleCallOnIsTranscriptionChanged);

Uw systeem instellen

Het Xcode-project maken

Maak in Xcode een nieuw iOS-project en selecteer de sjabloon Single View-app (Toepassing met één weergave). In deze quickstart wordt gebruikgemaakt van het SwiftUI-framework,dus u moet de taal instellen op Swift en Gebruikersinterface op SwiftUI.

U gaat geen eenheidstests of UI-tests maken tijdens deze quickstart. U kunt de tekstvakken Eenheidstests opnemen en UI-tests opnemen leeg maken.

Schermopname van het venster voor het maken van een project in Xcode.

Installeer het pakket en de afhankelijkheden met CocoaPods

  1. Maak een Podfile voor uw toepassing, zoals:

    platform :ios, '13.0'
    use_frameworks!
    target 'AzureCommunicationCallingSample' do
        pod 'AzureCommunicationCalling', '~> 1.0.0'
    end
    
  2. Voer pod install uit.

  3. Open .xcworkspace met Xcode.

Toegang tot de microfoon aanvragen

Als u toegang wilt krijgen tot de microfoon van het apparaat, moet u de eigenschappenlijst van uw app bijwerken met NSMicrophoneUsageDescription . U stelt de gekoppelde waarde in op een die wordt opgenomen in het dialoogvenster dat het systeem gebruikt om string toegang aan te vragen bij de gebruiker.

Klik met de rechtermuisknop op de Info.plist-vermelding van de projectstructuur en selecteer Open As > Source Code. Voeg de volgende regels toe in de sectie op het hoogste <dict> niveau en sla het bestand op.

<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>

Het app-framework instellen

Open het bestand ContentView.swift van uw project en voeg bovenaan het bestand een declaratie toe import om de bibliotheek te AzureCommunicationCalling importeren. Importeer bovendien AVFoundation . U hebt deze nodig voor audiomachtigingsaanvragen in de code.

import AzureCommunicationCalling
import AVFoundation

CallAgent initialiseren

Als u een exemplaar wilt maken op basis van , moet u een methode gebruiken die asynchroon een object retourneert nadat CallAgent CallClient het is callClient.createCallAgent CallAgent initialiseerd.

Als u een aanroepclient wilt maken, moet u een CommunicationTokenCredential -object doorgeven.

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)
}

Geef het CommunicationTokenCredential object dat u hebt gemaakt door aan en stel de CallClient weergavenaam in.

self.callClient = CallClient()
let callAgentOptions = CallAgentOptions()
options.displayName = " iOS ACS 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")
        }
})

Waarschuwing

Tot versie 1.1.0 en bètaversie 1.1.0-beta.1 van de ACS-aanroepende iOS SDK maakt deel uit van het -object en maakt deel uit van isTranscriptionActive Call didChangeTranscriptionState CallDelegate gemachtigde. Voor nieuwe bètaversies zijn deze API's verplaatst als een uitgebreide functie Call van, zoals hieronder wordt beschreven.

Notitie

Deze API is beschikbaar als preview-versie voor ontwikkelaars en wordt mogelijk gewijzigd op basis van de feedback die we ontvangen. Gebruik deze API niet in een productie-omgeving. Gebruik voor het gebruik van deze API de bètaversie van acs-aanroepen van iOS SDK

Transcriptie van aanroepen is een uitgebreide functie van het Call kernobject. U moet eerst het transcriptiefunctieobject verkrijgen:

let callTranscriptionFeature = call.feature(Features.transcription)

Inspecteer vervolgens de eigenschap van om te controleren of de aanroep is isTranscriptionActive getranscriscribeerd. callTranscriptionFeature Deze retourneert Bool .

let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;

U kunt zich ook abonneren op transcriptiewijzigingen door de gemachtigde voor TranscriptionCallFeatureDelegate uw klasse te implementeren met de gebeurtenis didChangeTranscriptionState :

callTranscriptionFeature.delegate = self

// didChangeTranscriptionState is a member of TranscriptionCallFeatureDelegate
public func transcriptionCallFeature(_ transcriptionCallFeature: TranscriptionCallFeature, didChangeTranscriptionState args: PropertyChangedEventArgs) {
    let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive
}

Volgende stappen