Bagikan melalui


Tampilkan status transkripsi panggilan pada klien

Anda perlu mengumpulkan persetujuan dari semua peserta dalam panggilan sebelum Anda dapat menyalin mereka. Microsoft Teams memungkinkan pengguna untuk memulai transkripsi dalam rapat atau panggilan. Anda akan menerima pemberitahuan ketika transkripsi telah dimulai. Anda dapat memeriksa status transkripsi jika transkripsi dimulai sebelum Anda bergabung dalam panggilan atau rapat. Anda dapat memberikan persetujuan eksplisit untuk transkripsi jika rapat atau panggilan membutuhkannya, dan Anda telah mengumpulkannya.

Prasyarat

Dukungan

Tabel berikut menentukan dukungan transkripsi panggilan di Azure Communication Services.

Identitas dan jenis panggilan

Tabel berikut menunjukkan dukungan transkripsi untuk jenis panggilan dan identitas tertentu.

Identitas Pertemuan tim Kamar panggilan 1:1 Panggilan kelompok Panggilan 1:1 interoperabilitas Teams Panggilan interop grup di Teams
Pengguna Layanan Komunikasi ✔️ ✔️ ✔️
Pengguna Microsoft 365 ✔️ ✔️ ✔️

Operasi

Tabel berikut menunjukkan dukungan API individu dalam memanggil SDK ke jenis identitas individu.

Operasi Pengguna Layanan Komunikasi Pengguna Microsoft 365
Dapatkan event bahwa transkripsi telah dimulai ✔️ ✔️
Dapatkan status transkripsi ✔️ ✔️
Mulai atau hentikan transkripsi
Pelajari apakah persetujuan eksplisit diperlukan ✔️ [1] ✔️ [1]
Berikan persetujuan secara eksplisit untuk ditranskripsi ✔️ [1] ✔️ [1]

[1] Fungsi ini hanya tersedia di rapat Teams dan panggilan interoperabilitas grup Teams.

SDK

Tabel-tabel berikut menunjukkan dukungan transkripsi dalam layanan SDK Azure Communication Services individu.

Platforma Situs Web Web UI (Antarmuka Pengguna Web) Ios iOS antarmuka pengguna (UI) Android Antarmuka Pengguna Android Windows
Didukung ✔️ ✔️ [1] ✔️ [1] ✔️ [1] ✔️ [1] ✔️ [1] ✔️ [1]

[1] SDK ini tidak mendukung persetujuan eksplisit.

Instalasi SDK

Gunakan perintah npm install untuk menginstal Azure Communication Services Common and Calling SDK untuk JavaScript:

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

Menginisialisasi objek yang diperlukan

Instans CallClient diperlukan untuk sebagian besar operasi panggilan. Saat membuat instans baru CallClient , Anda dapat mengonfigurasinya dengan opsi kustom seperti Logger instans.

Dengan instance CallClient, Anda dapat membuat instance CallAgent dengan memanggil createCallAgent. Metode ini secara asinkron mengembalikan objek instans CallAgent.

Metode createCallAgent menggunakan CommunicationTokenCredential sebagai argumen. Ini menerima token akses pengguna.

Anda dapat menggunakan metode getDeviceManager pada instans CallClient untuk mengakses deviceManager.

const { CallClient } = require('@azure/communication-calling');
const { AzureCommunicationTokenCredential} = require('@azure/communication-common');
const { AzureLogger, setLogLevel } = require("@azure/logger");

// Set the logger's log level
setLogLevel('verbose');

// Redirect log output to console, file, buffer, REST API, or whatever location you want
AzureLogger.log = (...args) => {
    console.log(...args); // Redirect log output to console
};

const userToken = '<USER_TOKEN>';
callClient = new CallClient(options);
const tokenCredential = new AzureCommunicationTokenCredential(userToken);
const callAgent = await callClient.createCallAgent(tokenCredential, {displayName: 'optional Azure Communication Services user name'});
const deviceManager = await callClient.getDeviceManager()

Mengelola konektivitas SDK ke infrastruktur Microsoft

Instansi Call Agent membantu Anda mengelola panggilan (untuk bergabung atau memulai panggilan). Untuk bekerja, SDK panggilan Anda perlu tersambung ke infrastruktur Microsoft untuk mendapatkan pemberitahuan panggilan masuk dan mengoordinasikan detail panggilan lainnya. Call Agent Anda memiliki dua kemungkinan keadaan:

Connected - Nilai Call Agent connectionStatus dengan Connected berarti bahwa SDK klien terhubung dan mampu menerima notifikasi dari infrastruktur Microsoft.

Terputus - Nilai Call Agent dari connectionStatue Disconnected menunjukkan adanya masalah yang mencegah SDK terhubung dengan benar. Call Agent harus dibuat ulang.

  • invalidToken: Jika token kedaluwarsa atau tidak valid, Call Agent instansinya terputus dengan kesalahan ini.
  • connectionIssue: Jika ada masalah dengan klien yang terhubung ke infrastruktur Microsoft, setelah banyak percobaan ulang Call Agent mengekspos kesalahan connectionIssue.

Anda dapat memeriksa apakah lokal Anda Call Agent terhubung ke infrastruktur Microsoft dengan memeriksa nilai saat ini dari properti connectionState. Selama panggilan aktif, Anda dapat mendengarkan ke acara connectionStateChanged untuk menentukan apakah Call Agent berubah dari keadaan Terhubung ke Tidak Terhubung.

const connectionState = callAgentInstance.connectionState;
console.log(connectionState); // it may return either of 'Connected' | 'Disconnected'

const connectionStateCallback = (args) => {
    console.log(args); // it will return an object with oldState and newState, each of having a value of either of 'Connected' | 'Disconnected'
    // it will also return reason, either of 'invalidToken' | 'connectionIssue'
}
callAgentInstance.on('connectionStateChanged', connectionStateCallback);

Peringatan

Karena perubahan pada Microsoft Teams, JavaScript SDK pemanggil dengan versi 1.21 dan yang lebih rendah menghentikan transkripsi Teams dan memblokir pengguna Teams untuk memulai transkripsi. Jika Anda ingin memanfaatkan transkripsi Teams dalam panggilan dan rapat, Anda perlu meningkatkan SDK panggilan Anda ke versi setidaknya 1.22.

Transkripsi panggilan

Transcription adalah fitur yang diperluas dari kelas Call. Pertama-tama, Anda perlu mendapatkan objek API fitur transkripsi.

const callTranscriptionFeature = call.feature(Features.Transcription);

Anda dapat memeriksa status transkripsi dalam properti isTranscriptionActive. Jika nilai diatur ke true, maka transkripsi aktif.

const isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;

Anda dapat berlangganan ke acara yang dipicu ketika keadaan transkripsi berubah.

const isTranscriptionActiveChangedHandler = () => {
  console.log(callTranscriptionFeature.isTranscriptionActive);
};
callTranscriptionFeature.on('isTranscriptionActiveChanged', isTranscriptionActiveChangedHandler);

Anda dapat berhenti berlangganan dari acara dengan kode berikut:

callTranscriptionFeature.off('isTranscriptionActiveChanged', isTranscriptionActiveChangedHandler);

Ketika rapat atau panggilan Teams Anda dikonfigurasi untuk memerlukan persetujuan eksplisit untuk perekaman atau transkripsi, Anda diwajibkan untuk mengumpulkan persetujuan eksplisit dari pengguna Anda agar pengguna dapat ditranskripsi atau direkam. Anda dapat memberikan persetujuan secara proaktif saat bergabung dalam rapat atau secara reaktif ketika perekaman atau transkripsi dimulai. Sampai izin eksplisit diberikan, audio, video, dan berbagi layar peserta akan dinonaktifkan selama transkripsi.

Anda dapat memeriksa apakah transkripsi rapat memerlukan persetujuan eksplisit berdasarkan properti isTeamsConsentRequired. Jika nilai diatur ke true, maka persetujuan eksplisit diperlukan untuk call.

const isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired;

Jika Anda sudah mendapatkan persetujuan pengguna untuk transkripsi, Anda dapat memanggil metode grantTeamsConsent() untuk menunjukkan persetujuan eksplisit terhadap layanan. Persetujuan ini berlaku hanya untuk satu sesi call dan pengguna perlu memberikan persetujuan lagi jika mereka bergabung kembali dalam pertemuan.

callTranscriptionFeature.grantTeamsConsent();

Upaya untuk mengaktifkan audio, video, atau berbagi layar gagal ketika transkripsi aktif, persetujuan eksplisit diperlukan tetapi belum diberikan. Anda dapat mengenali situasi ini dengan memeriksa properti reason dari kelas ParticipantCapabilities untuk kemampuanturnVideoOn, unmuteMic, dan shareScreen. Anda dapat menemukan kemampuan tersebut dalam fitur call.feature(Features.Capabilities). Kemampuan itu akan mengembalikan alasan ExplicitConsentRequired karena pengguna perlu memberikan persetujuan secara eksplisit.

Instalasi SDK

Temukan file build.gradle pada tingkat proyek Anda dan tambahkan mavenCentral() ke daftar repositori di bawah buildscript dan allprojects.

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

Kemudian, dalam file build.gradle tingkat modul Anda, tambahkan baris-baris berikut ke bagian dependencies:

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

Inisialisasi objek yang diperlukan

Untuk membuat instance CallAgent, Anda harus memanggil metode createCallAgent pada instance CallClient. Panggilan ini secara asinkron mengembalikan objek instans CallAgent .

Metode createCallAgent mengambil CommunicationUserCredential sebagai argumen, yang mengenkapsulasi sebuah token akses.

Untuk mengakses DeviceManager, Anda harus membuat instance callAgent terlebih dahulu. Kemudian Anda dapat menggunakan metode CallClient.getDeviceManager untuk mendapatkan 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();

Untuk menetapkan nama tampilan bagi penerima panggilan, gunakan metode alternatif ini:

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

Peringatan

Hingga versi 1.1.0 dan versi beta 1.1.0-beta.1 dari Azure Communication Services Calling untuk Android SDK, isTranscriptionActive dan addOnIsTranscriptionActiveChangedListener adalah bagian dari objek Call. Untuk rilis beta baru, API tersebut telah dipindahkan sebagai fitur Call yang diperluas seperti yang dijelaskan di bawah ini.

Transkripsi panggilan adalah fitur diperluas dari objek inti Call. Anda perlu mendapatkan objek fitur transkripsi terlebih dahulu.

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

Kemudian, untuk memeriksa apakah panggilan sedang ditranskripsi, inspeksi properti isTranscriptionActive dari callTranscriptionFeature. Ini mengembalikan boolean.

boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();

Anda juga dapat berlangganan perubahan dalam transkripsi.

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

callTranscriptionFeature.addOnIsTranscriptionActiveChangedListener(handleCallOnIsTranscriptionChanged);

Nota

API ini disediakan sebagai pratinjau untuk pengembang dan mungkin berubah berdasarkan umpan balik yang kami terima. Jangan gunakan API ini di lingkungan produksi. Untuk menggunakan API ini, gunakan rilis beta Azure Communication Services Memanggil Android SDK.

Ketika rapat atau panggilan Teams Anda dikonfigurasi untuk memerlukan persetujuan eksplisit untuk perekaman atau transkripsi, Anda diwajibkan untuk mengumpulkan persetujuan eksplisit dari pengguna Anda agar pengguna dapat ditranskripsi atau direkam. Anda dapat memberikan persetujuan secara proaktif saat bergabung dalam rapat atau secara reaktif ketika perekaman atau transkripsi dimulai. Sampai izin eksplisit diberikan, audio, video, dan berbagi layar peserta akan dinonaktifkan selama transkripsi.

Anda dapat memeriksa apakah transkripsi rapat memerlukan persetujuan eksplisit berdasarkan properti isTeamsConsentRequired(). Jika nilai diatur ke true, maka persetujuan eksplisit diperlukan untuk call.

boolean isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired();

Jika Anda sudah mendapatkan persetujuan pengguna untuk transkripsi, Anda dapat memanggil metode grantTeamsConsent() untuk menunjukkan persetujuan eksplisit terhadap layanan. Persetujuan ini berlaku hanya untuk satu sesi call dan pengguna perlu memberikan persetujuan lagi jika mereka bergabung kembali dalam pertemuan.

callTranscriptionFeature.grantTeamsConsent();

Upaya untuk mengaktifkan audio, video, atau berbagi layar gagal ketika transkripsi aktif, persetujuan eksplisit diperlukan tetapi belum diberikan. Anda dapat mengenali situasi ini dengan memeriksa properti reason dari kelas ParticipantCapabilities untuk kemampuanturnVideoOn, unmuteMic, dan shareScreen. Anda dapat menemukan kemampuan tersebut dalam fitur call.feature(Features.Capabilities). Kemampuan itu akan mengembalikan alasan ExplicitConsentRequired karena pengguna perlu memberikan persetujuan secara eksplisit.

Siapkan sistem Anda

Ikuti langkah-langkah ini untuk menyiapkan sistem Anda.

Buat proyek Xcode

Di Xcode, buat proyek iOS baru dan pilih template Single View App. Artikel ini menggunakan kerangka kerja SwiftUI, jadi Anda harus mengatur Bahasa ke Swift dan mengatur Antarmuka ke SwiftUI.

Anda tidak akan membuat tes dalam artikel ini. Silakan kosongkan kotak centang Include Tests.

Screenshot yang menunjukkan jendela untuk membuat proyek di dalam Xcode.

Pasang paket dan dependensi menggunakan CocoaPods

  1. Buat Podfile untuk aplikasi Anda, seperti contoh ini:

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

  3. Buka .xcworkspace dengan menggunakan Xcode.

Minta akses ke mikrofon

Untuk mengakses mikrofon perangkat, Anda perlu memperbarui daftar properti informasi aplikasi Anda dengan menggunakan NSMicrophoneUsageDescription. Tetapkan nilai terkait ke dalam string yang disertakan dalam dialog yang digunakan sistem untuk meminta akses dari pengguna.

Klik kanan entri Info.plist pada pohon proyek, lalu pilih Buka Sebagai>Kode Sumber. Tambahkan baris berikut pada bagian <dict> tingkat atas, lalu simpan file tersebut.

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

Atur kerangka aplikasi

Buka file proyek ContentView.swift Anda. Tambahkan deklarasi import di bagian atas file untuk mengimpor pustaka AzureCommunicationCalling. Selain itu, impor AVFoundation. Anda membutuhkannya untuk permintaan izin audio dalam kode.

import AzureCommunicationCalling
import AVFoundation

Inisialisasi CallAgent

Untuk membuat instance CallAgent dari CallClient, Anda harus menggunakan metode callClient.createCallAgent yang secara asinkron mengembalikan objek CallAgent setelah diinisialisasi.

Untuk membuat klien panggilan, lewatkan objek CommunicationTokenCredential.

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

Sampaikan objek CommunicationTokenCredential yang Anda buat ke CallClient, dan atur nama tampilan:

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

Peringatan

Hingga versi 1.1.0 dan rilis beta versi 1.1.0-beta.1 dari Azure Communication Services Calling iOS SDK memiliki isTranscriptionActive sebagai bagian dari objek Call dan didChangeTranscriptionState adalah bagian dari delegasi CallDelegate. Untuk rilis beta baru, API tersebut telah dipindahkan sebagai fitur Call yang diperluas seperti yang dijelaskan di bawah ini.

Transkripsi panggilan adalah fitur diperluas dari objek inti Call. Anda perlu mendapatkan objek fitur transkripsi terlebih dahulu.

let callTranscriptionFeature = call.feature(Features.transcription)

Kemudian, untuk memeriksa apakah panggilan telah ditranskripsi, periksa properti isTranscriptionActive dari callTranscriptionFeature. Ini mengembalikan Bool.

let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;

Anda juga dapat berlangganan perubahan transkripsi dengan menerapkan TranscriptionCallFeatureDelegate delegasi pada kelas Anda dengan acara didChangeTranscriptionState:

callTranscriptionFeature.delegate = self

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

Nota

API ini disediakan sebagai pratinjau untuk pengembang dan mungkin berubah berdasarkan umpan balik yang kami terima. Jangan gunakan API ini di lingkungan produksi. Untuk menggunakan API ini, gunakan rilis beta Azure Communication Services Calling iOS SDK.

Ketika rapat atau panggilan Teams Anda dikonfigurasi untuk memerlukan persetujuan eksplisit untuk perekaman atau transkripsi, Anda diwajibkan untuk mengumpulkan persetujuan eksplisit dari pengguna Anda agar pengguna dapat ditranskripsi atau direkam. Anda dapat memberikan persetujuan secara proaktif saat bergabung dalam rapat atau secara reaktif ketika perekaman atau transkripsi dimulai. Sampai izin eksplisit diberikan, audio, video, dan berbagi layar peserta akan dinonaktifkan selama transkripsi.

Anda dapat memeriksa apakah transkripsi rapat memerlukan persetujuan eksplisit berdasarkan properti isTeamsConsentRequired. Jika nilai diatur ke true, maka persetujuan eksplisit diperlukan untuk call.

let isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired;

Jika Anda sudah mendapatkan persetujuan pengguna untuk transkripsi, Anda dapat memanggil metode grantTeamsConsent() untuk menunjukkan persetujuan eksplisit terhadap layanan. Persetujuan ini berlaku hanya untuk satu sesi call dan pengguna perlu memberikan persetujuan lagi jika mereka bergabung kembali dalam pertemuan.

callTranscriptionFeature.grantTeamsConsent();

Upaya untuk mengaktifkan audio, video, atau berbagi layar gagal ketika transkripsi aktif, persetujuan eksplisit diperlukan tetapi belum diberikan. Anda dapat mengenali situasi ini dengan memeriksa properti reason dari kelas ParticipantCapabilities untuk kemampuanturnVideoOn, unmuteMic, dan shareScreen. Anda dapat menemukan kemampuan tersebut dalam fitur call.feature(Features.Capabilities). Kemampuan itu akan mengembalikan alasan ExplicitConsentRequired karena pengguna perlu memberikan persetujuan secara eksplisit.

Siapkan sistem Anda

Ikuti langkah-langkah ini untuk menyiapkan sistem Anda.

Buat proyek Visual Studio

Untuk aplikasi Universal Windows Platform, di Visual Studio 2022, buat proyek baru Blank App (Universal Windows). Setelah Anda memasukkan nama proyek, silakan pilih Windows SDK apa pun yang lebih baru dari 10.0.17763.0.

Untuk aplikasi WinUI 3, buat proyek baru dengan template Blank App, Packaged (WinUI 3 di Desktop) untuk mengatur aplikasi WinUI 3 satu halaman. Windows App SDK versi 1.3 atau versi berikutnya diperlukan.

Pasang paket dan dependensi menggunakan NuGet Package Manager

API dan pustaka Calling SDK tersedia secara publik melalui paket NuGet.

Untuk menemukan, mengunduh, dan menginstal paket NuGet SDK Panggilan:

  1. Buka NuGet Package Manager dengan memilih Tools>NuGet Package Manager>Kelola Paket NuGet untuk Solusi.
  2. Pilih Browse, lalu masukkan Azure.Communication.Calling.WindowsClient di kotak pencarian.
  3. Pastikan kotak centang Include prerelease telah dipilih.
  4. Pilih paket Azure.Communication.Calling.WindowsClient, lalu pilih Azure.Communication.Calling.WindowsClient1.4.0-beta.1 atau versi yang lebih baru.
  5. Pilih kotak centang yang sesuai dengan proyek Azure Communication Services di panel kanan.
  6. Pilih Instal.

Transkripsi panggilan adalah fitur diperluas dari objek inti Call. Anda perlu mendapatkan objek fitur transkripsi terlebih dahulu.

TranscriptionCallFeature transcriptionFeature = call.Features.Transcription;

Kemudian, untuk memeriksa apakah panggilan sedang ditranskripsi, inspeksi properti IsTranscriptionActive dari transcriptionFeature. Ini mengembalikan boolean.

boolean isTranscriptionActive = transcriptionFeature.isTranscriptionActive;

Anda juga dapat berlangganan perubahan dalam transkripsi.

private async void Call__OnIsTranscriptionActiveChanged(object sender, PropertyChangedEventArgs args)
    boolean isTranscriptionActive = transcriptionFeature.IsTranscriptionActive();
}

transcriptionFeature.IsTranscriptionActiveChanged += Call__OnIsTranscriptionActiveChanged;

Nota

API ini disediakan sebagai pratinjau untuk pengembang dan mungkin berubah berdasarkan umpan balik yang kami terima. Jangan gunakan API ini di lingkungan produksi. Untuk menggunakan API ini, gunakan rilis beta Azure Communication Services Calling Windows SDK.

Ketika rapat atau panggilan Teams Anda dikonfigurasi untuk memerlukan persetujuan eksplisit untuk perekaman atau transkripsi, Anda diwajibkan untuk mengumpulkan persetujuan eksplisit dari pengguna Anda agar pengguna dapat ditranskripsi atau direkam. Anda dapat memberikan persetujuan secara proaktif saat bergabung dalam rapat atau secara reaktif ketika perekaman atau transkripsi dimulai. Sampai izin eksplisit diberikan, audio, video, dan berbagi layar peserta akan dinonaktifkan selama transkripsi.

Anda dapat memeriksa apakah transkripsi rapat memerlukan persetujuan eksplisit berdasarkan properti isTeamsConsentRequired. Jika nilai diatur ke true, maka persetujuan eksplisit diperlukan untuk call.

boolean isTranscriptionConsentRequired = transcriptionFeature.isTeamsConsentRequired;

Jika Anda sudah mendapatkan persetujuan pengguna untuk transkripsi, Anda dapat memanggil metode grantTeamsConsent() untuk menunjukkan persetujuan eksplisit terhadap layanan. Persetujuan ini berlaku hanya untuk satu sesi call dan pengguna perlu memberikan persetujuan lagi jika mereka bergabung kembali dalam pertemuan.

transcriptionFeature.grantTeamsConsent();

Upaya untuk mengaktifkan audio, video, atau berbagi layar gagal ketika transkripsi aktif, persetujuan eksplisit diperlukan tetapi belum diberikan. Anda dapat mengenali situasi ini dengan memeriksa properti reason dari kelas ParticipantCapabilities untuk kemampuanturnVideoOn, unmuteMic, dan shareScreen. Anda dapat menemukan kemampuan tersebut dalam fitur call.feature(Features.Capabilities). Kemampuan itu akan mengembalikan alasan ExplicitConsentRequired karena pengguna perlu memberikan persetujuan secara eksplisit.

kompatibilitas SDK

Tabel berikut menunjukkan versi minimum SDK yang mendukung API masing-masing.

Operasi Situs Web Web UI (Antarmuka Pengguna Web) Ios iOS antarmuka pengguna (UI) Android Antarmuka Pengguna Android Windows
Dapatkan event bahwa transkripsi telah dimulai 1.0.0, 1.25.3-beta.1 1.0.0, 1.0.0-beta.8 2.1.0, 2.1.0-beta.1 1.0.0, 1.0.0-beta.8 1.1.0, 1.2.0-beta.1 1.0.0, 1.0.0-beta.8 1.0.0, 1.0.0-beta.31
Dapatkan status transkripsi 1.0.0, 1.25.3-beta.1 1.0.0, 1.0.0-beta.8 2.1.0, 2.1.0-beta.1 1.0.0, 1.0.0-beta.8 1.1.0, 1.2.0-beta.1 1.0.0, 1.0.0-beta.8 1.0.0, 1.0.0-beta.31
Pelajari apakah persetujuan eksplisit diperlukan 1.31.2, 1.32.1-beta.1 2.16.0-beta.1 2.14.0-beta.1 1.12.0-beta.1
Berikan persetujuan tegas untuk direkam 1.31.2, 1.32.1-beta.1 2.16.0-beta.1 2.14.0-beta.1 1.12.0-beta.1

Langkah selanjutnya