Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
- Sebuah sumber daya Layanan Komunikasi yang telah diterapkan. Buat sumber daya Layanan Komunikasi.
- Token akses pengguna untuk mengaktifkan klien yang menelepon. Untuk informasi selengkapnya, lihat Membuat dan mengelola token akses.
- Opsional: Selesaikan panduan memulai cepat untuk menambahkan panggilan suara ke aplikasi Anda
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 ulangCall Agent
mengekspos kesalahanconnectionIssue
.
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);
Persetujuan Ekspres
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);
Persetujuan Ekspres
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.
Pasang paket dan dependensi menggunakan CocoaPods
Buat Podfile untuk aplikasi Anda, seperti contoh ini:
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
Jalankan
pod install
.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
}
Persetujuan Ekspres
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:
- Buka NuGet Package Manager dengan memilih Tools>NuGet Package Manager>Kelola Paket NuGet untuk Solusi.
- Pilih Browse, lalu masukkan Azure.Communication.Calling.WindowsClient di kotak pencarian.
- Pastikan kotak centang Include prerelease telah dipilih.
- Pilih paket Azure.Communication.Calling.WindowsClient, lalu pilih Azure.Communication.Calling.WindowsClient1.4.0-beta.1 atau versi yang lebih baru.
- Pilih kotak centang yang sesuai dengan proyek Azure Communication Services di panel kanan.
- 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;
Persetujuan Ekspres
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 |