文字起こしする前に、通話のすべての参加者から同意を収集する必要があります。 Microsoft Teamsを使用すると、ユーザーは会議や通話で文字起こしを開始できます。 文字起こしが開始するタイミングでイベントを受け取ります。 通話または会議に参加する前に文字起こしが開始された場合は、文字起こしの状態を確認できます。 会議または通話で文字起こしが必要な場合、既に同意を収集している場合には、明示的に同意を提供できます。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- デプロイ済みの Communication Services リソース。 Communication Services リソースを作成します。
- 通話クライアントを有効にするためのユーザー アクセス トークン。 詳細については、アクセス トークンの作成と管理に関する記事を参照してください。
- 省略可能: クイックスタートを完了して、アプリケーションに音声通話を追加します
サポート
次の表では、Azure Communication Services での通話文字起こしのサポートを定義します。
ID と通話の種類
次の表は、特定の通話の種類と ID の文字起こしのサポートを示しています。
ID | Teams 会議 | ルーム | 1 対 1 の通話 | グループ通話 | 1:1 Teams 相互運用性通話 | グループ チームの相互運用機能通話 |
---|---|---|---|---|---|---|
Communication Services ユーザー | ✔️ | ✔️ | ✔️ | |||
Microsoft 365 ユーザー | ✔️ | ✔️ | ✔️ |
操作
次の表は、個々の ID の種類に対する呼び出し SDK における個々の API のサポートを示しています。
操作 | Communication Services ユーザー | Microsoft 365 ユーザー |
---|---|---|
文字起こしが開始されたイベントを取得する | ✔️ | ✔️ |
文字起こしの状態を取得する | ✔️ | ✔️ |
文字起こしを開始または停止する | ||
明示的な同意が必要かどうかを確認する | ✔️ [1] | ✔️ [1] |
文字起こしに明示的な同意を与える | ✔️ [1] | ✔️ [1] |
[1] この機能は、Teams 会議とグループ Teams の相互運用性呼び出しでのみ使用できます。
SDK
次の表は、個々の Azure Communication Services SDK での文字起こしのサポートを示しています。
プラットフォーム | ウェブ | ウェブユーザーインターフェース | iOS | iOS ユーザーインターフェース | アンドロイド | Androidのユーザーインターフェース | ウィンドウズ |
---|---|---|---|---|---|---|---|
サポートされているか | ✔️ | ✔️ [1] | ✔️ [1] | ✔️ [1] | ✔️ [1] | ✔️ [1] | ✔️ [1] |
[1] これらの SDK では明示的な同意がサポートされていません。
SDK のインストール
npm install
コマンドを使用して、JavaScript 用の Azure Communication Services の Common SDK と Calling SDK をインストールします。
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
必要なオブジェクトを初期化する
CallClient
インスタンスは、ほとんどの通話操作に必要です。 新しい CallClient
インスタンスを作成する際に、Logger
インスタンスなどのカスタム オプションを使用してこれを構成できます。
CallClient
インスタンスでは、CallAgent
を呼び出すことで createCallAgent
インスタンスを作成できます。 このメソッドでは、非同期的に CallAgent
インスタンス オブジェクトが返されます。
createCallAgent
メソッドでは、CommunicationTokenCredential
が引数として使用されます。 これは、ユーザー アクセス トークンを受け取ります。
getDeviceManager
インスタンスで CallClient
メソッドを使用して、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()
Microsoft インフラストラクチャへの SDK 接続を管理する
Call Agent
インスタンスは、(呼び出しを結合または開始するために) 呼び出しを管理するのに役立ちます。 呼び出しの SDK を機能させるには、Microsoft インフラストラクチャに接続して着信呼び出しの通知を取得し、他の呼び出しの詳細を調整する必要があります。
Call Agent
には、次の 2 つの状態があります。
接続済み - Call Agent
の Connected
connectionStatue 値は、クライアント SDK が接続されており、Microsoft インフラストラクチャから通知を受信できることを意味します。
切断済み - Call Agent
の Disconnected
connectionStatue 値は、SDK の正常な接続を妨げる問題があることを示します。
Call Agent
を再作成する必要があります。
-
invalidToken
: トークンが有効期限切れであるか、無効な場合、Call Agent
インスタンスがこのエラーで切断されます。 -
connectionIssue
: クライアントが Microsoft インフラストラクチャに接続する際に問題が発生した場合、多数の再試行ののちにCall Agent
にconnectionIssue
エラーが表示されます。
Call Agent
プロパティの現在の値を調べて、ローカル connectionState
が Microsoft インフラストラクチャに接続されているかどうかを確認できます。 アクティブな呼び出し中に、connectionStateChanged
イベントをリッスンして、Call Agent
の状態が接続済みから切断済みに変化したかどうかを判断できます。
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);
警告
Microsoft Teams の変更により、バージョン 1.21 以下の JavaScript 呼び出し SDK は Teams の文字起こしを停止し、Teams ユーザーが文字起こしを開始することをブロックします。 通話や会議で Teams の文字起こしを使用する場合は、通話 SDK をバージョン 1.22 以降にアップグレードする必要があります。
通話の文字起こし
Transcription
は、クラス Call
の拡張機能です。 まず、文字起こし機能 API オブジェクトを取得する必要があります。
const callTranscriptionFeature = call.feature(Features.Transcription);
プロパティ isTranscriptionActive
で文字起こしの状態を確認できます。 値が true
に設定されている場合、文字起こしはアクティブです。
const isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;
文字起こしの状態が変化したときにトリガーされるイベントを受信登録できます。
const isTranscriptionActiveChangedHandler = () => {
console.log(callTranscriptionFeature.isTranscriptionActive);
};
callTranscriptionFeature.on('isTranscriptionActiveChanged', isTranscriptionActiveChangedHandler);
イベントの登録を解除するには、次のコードを使用します。
callTranscriptionFeature.off('isTranscriptionActiveChanged', isTranscriptionActiveChangedHandler);
明示的な同意
Teams 会議または通話が、記録または文字起こしに明示的な同意を要求するように構成されている場合は、ユーザーの文字起こしまたは記録を許可するために、ユーザーから明示的な同意を収集する必要があります。 会議に参加するときに事前に同意するか、レコーディングまたは文字起こしの開始時に事後対応的に同意することができます。 明示的な同意が与えられるまで、参加者の音声、ビデオ、画面共有は文字起こし中に無効になります。
プロパティ isTeamsConsentRequired
により、会議の文字起こしに明示的な同意が必要かどうかを確認できます。 値が true
に設定されている場合は、call
に明示的な同意が必要です。
const isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired;
文字起こしに対するユーザーの同意を既に取得している場合は、 grantTeamsConsent()
メソッドを呼び出して、サービスへの明示的な同意を示すことができます。 この同意は 1 つの call
セッションでのみ有効であり、ユーザーは会議に再参加する場合、もう一度同意する必要があります。
callTranscriptionFeature.grantTeamsConsent();
文字起こしがアクティブであるときに、明示的な同意が必要であるものの、まだ与えられていない場合、オーディオ、ビデオ、または画面共有を有効にしようとすると失敗します。 この状況を認識するには、クラス reason
のプロパティ ParticipantCapabilities
を確認し、機能、turnVideoOn
、unmuteMic
、および shareScreen
を確認します。 それらの機能は、フィーチャー call.feature(Features.Capabilities)
にあります。 それらの機能では、ユーザーが明示的な同意を提供する必要がある場合に、理由 ExplicitConsentRequired
が返されます。
SDK のインストール
プロジェクト レベルの build.gradle
ファイルを見つけて、mavenCentral()
と buildscript
の下のリポジトリの一覧に allprojects
を追加します。
buildscript {
repositories {
...
mavenCentral()
...
}
}
allprojects {
repositories {
...
mavenCentral()
...
}
}
次に、モジュール レベルの build.gradle
ファイルで、次の行を dependencies
セクションに追加します。
dependencies {
...
implementation 'com.azure.android:azure-communication-calling:1.0.0'
...
}
必要なオブジェクトを初期化する
CallAgent
インスタンスを作成するには、createCallAgent
インスタンス上で CallClient
メソッドを呼び出す必要があります。 この呼び出しは、CallAgent
インスタンス オブジェクトを非同期に返します。
createCallAgent
メソッドは、CommunicationUserCredential
をカプセル化する を引数として受け取ります。
DeviceManager
にアクセスするには、まず callAgent
インスタンスを作成する必要があります。 それから、CallClient.getDeviceManager
メソッドを使用して 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();
呼び出し元の表示名を設定するには、この代替メソッドを使用します。
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();
警告
Azure Communication Services Calling Android SDK のバージョン 1.1.0 およびベータ リリース バージョン 1.1.0-beta.1 までは、isTranscriptionActive
および addOnIsTranscriptionActiveChangedListener
は Call
オブジェクトの一部になっています。 新しいベータ リリースでは、これらの機能は、この記事の後半で説明するように、 Call
の拡張機能として使用されるようになりました。
通話の文字起こしは、コア Call
オブジェクトの拡張機能です。 まず、文字起こし機能オブジェクトを取得する必要があります。
TranscriptionCallFeature callTranscriptionFeature = call.feature(Features.TRANSCRIPTION);
次に、通話が文字起こしされているかどうかを確認するために、isTranscriptionActive
の callTranscriptionFeature
プロパティを調べます。 "boolean
" を返します。
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
文字起こしの変更をサブスクライブすることもできます。
private void handleCallOnIsTranscriptionChanged(PropertyChangedEvent args) {
boolean isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive();
}
callTranscriptionFeature.addOnIsTranscriptionActiveChangedListener(handleCallOnIsTranscriptionChanged);
明示的な同意
注
この API は開発者向けのプレビューとして提供されており、お客様からのフィードバックに基づいて変更される場合があります。 この API は、運用環境では使用しないでください。 この API を使用するには、Azure Communication Services Calling Android SDK のベータ リリースを使用します。
Teams 会議または通話が、記録または文字起こしに明示的な同意を要求するように構成されている場合は、ユーザーの文字起こしまたは記録を許可するために、ユーザーから明示的な同意を収集する必要があります。 会議に参加するときに事前に同意するか、レコーディングまたは文字起こしの開始時に事後対応的に同意することができます。 明示的な同意が与えられるまで、参加者の音声、ビデオ、画面共有は文字起こし中に無効になります。
プロパティ isTeamsConsentRequired()
により、会議の文字起こしに明示的な同意が必要かどうかを確認できます。 値が true
に設定されている場合は、call
に明示的な同意が必要です。
boolean isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired();
文字起こしに対するユーザーの同意を既に取得している場合は、 grantTeamsConsent()
メソッドを呼び出して、サービスへの明示的な同意を示すことができます。 この同意は 1 つの call
セッションでのみ有効であり、ユーザーは会議に再参加する場合、もう一度同意する必要があります。
callTranscriptionFeature.grantTeamsConsent();
文字起こしがアクティブであるときに、明示的な同意が必要であるものの、まだ与えられていない場合、オーディオ、ビデオ、または画面共有を有効にしようとすると失敗します。 この状況を認識するには、クラス reason
のプロパティ ParticipantCapabilities
を確認し、機能、turnVideoOn
、unmuteMic
、および shareScreen
を確認します。 それらの機能は、フィーチャー call.feature(Features.Capabilities)
にあります。 それらの機能では、ユーザーが明示的な同意を提供する必要がある場合に、理由 ExplicitConsentRequired
が返されます。
システムを設定する
次の手順のようにして、システムを設定します。
Xcode プロジェクトを作成する
Xcode で、新しい iOS プロジェクトを作成し、[単一ビュー アプリ] テンプレートを選択します。 この記事では SwiftUI フレームワークを使用するので、[言語] を [Swift] に、[インターフェイス] を [SwiftUI] に設定する必要があります。
この記事では、テストは作成しません。 [テストを含める] チェック ボックスはオフにしてもかまいません。
CocoaPods を使用してパッケージと依存関係をインストールする
この例のように、アプリケーション用の Podfile を作成します。
platform :ios, '13.0' use_frameworks! target 'AzureCommunicationCallingSample' do pod 'AzureCommunicationCalling', '~> 1.0.0' end
pod install
を実行します。Xcode を使用して
.xcworkspace
を開きます。
マイクへのアクセスを要求する
デバイスのマイクにアクセスするには、NSMicrophoneUsageDescription
を使用してアプリの情報プロパティ一覧を更新する必要があります。 関連付けられる値には、システムがユーザーにアクセスを要求するために使用するダイアログに含まれる文字列を設定します。
プロジェクト ツリーの [Info.plist] エントリを右クリックし、[形式を指定して開く]>[ソース コード] を選択します。 最上位の <dict>
セクションに以下の行を追加してから、ファイルを保存します。
<key>NSMicrophoneUsageDescription</key>
<string>Need microphone access for VOIP calling.</string>
アプリのフレームワークを設定する
プロジェクトの ContentView.swift
ファイルを開きます。 ファイルの先頭に import
宣言を追加して、AzureCommunicationCalling
ライブラリをインポートします。 さらに、AVFoundation
をインポートします。 これは、コードでのオーディオ アクセス許可の要求に必要です。
import AzureCommunicationCalling
import AVFoundation
CallAgent を初期化する
CallAgent
から CallClient
インスタンスを作成するには、初期化された後に callClient.createCallAgent
オブジェクトを非同期に返す CallAgent
メソッドを使用する必要があります。
通話クライアントを作成するには、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)
}
作成した CommunicationTokenCredential
オブジェクトを CallClient
に渡し、表示名を設定します。
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")
}
})
警告
Azure Communication Services Calling iOS SDK のバージョン 1.1.0 およびベータ リリース バージョン 1.1.0-beta.1 までは、isTranscriptionActive
は Call
オブジェクトの一部になっていて、didChangeTranscriptionState
は CallDelegate
デリゲートの一部になっています。 新しいベータ リリースでは、これらの機能は、この記事の後半で説明するように、 Call
の拡張機能として使用されるようになりました。
通話の文字起こしは、コア Call
オブジェクトの拡張機能です。 まず、文字起こし機能オブジェクトを取得する必要があります。
let callTranscriptionFeature = call.feature(Features.transcription)
次に、通話が文字起こしされているかどうかを確認するために、isTranscriptionActive
の callTranscriptionFeature
プロパティを調べます。 "Bool
" を返します。
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive;
イベント TranscriptionCallFeatureDelegate
を使用してクラスに didChangeTranscriptionState
文字起こしを実装することにより、文字起こしの変更をサブスクライブすることもできます。
callTranscriptionFeature.delegate = self
// didChangeTranscriptionState is a member of TranscriptionCallFeatureDelegate
public func transcriptionCallFeature(_ transcriptionCallFeature: TranscriptionCallFeature, didChangeTranscriptionState args: PropertyChangedEventArgs) {
let isTranscriptionActive = callTranscriptionFeature.isTranscriptionActive
}
明示的な同意
注
この API は開発者向けのプレビューとして提供されており、お客様からのフィードバックに基づいて変更される場合があります。 この API は、運用環境では使用しないでください。 この API を使用するには、Azure Communication Services Calling iOS SDK のベータ リリースを使用します。
Teams 会議または通話が、記録または文字起こしに明示的な同意を要求するように構成されている場合は、ユーザーの文字起こしまたは記録を許可するために、ユーザーから明示的な同意を収集する必要があります。 会議に参加するときに事前に同意するか、レコーディングまたは文字起こしの開始時に事後対応的に同意することができます。 明示的な同意が与えられるまで、参加者の音声、ビデオ、画面共有は文字起こし中に無効になります。
プロパティ isTeamsConsentRequired
により、会議の文字起こしに明示的な同意が必要かどうかを確認できます。 値が true
に設定されている場合は、call
に明示的な同意が必要です。
let isTranscriptionConsentRequired = callTranscriptionFeature.isTeamsConsentRequired;
文字起こしに対するユーザーの同意を既に取得している場合は、 grantTeamsConsent()
メソッドを呼び出して、サービスへの明示的な同意を示すことができます。 この同意は 1 つの call
セッションでのみ有効であり、ユーザーは会議に再参加する場合、もう一度同意する必要があります。
callTranscriptionFeature.grantTeamsConsent();
文字起こしがアクティブであるときに、明示的な同意が必要であるものの、まだ与えられていない場合、オーディオ、ビデオ、または画面共有を有効にしようとすると失敗します。 この状況を認識するには、クラス reason
のプロパティ ParticipantCapabilities
を確認し、機能、turnVideoOn
、unmuteMic
、および shareScreen
を確認します。 それらの機能は、フィーチャー call.feature(Features.Capabilities)
にあります。 それらの機能では、ユーザーが明示的な同意を提供する必要がある場合に、理由 ExplicitConsentRequired
が返されます。
システムを設定する
次の手順のようにして、システムを設定します。
Visual Studio プロジェクトの作成
ユニバーサル Windows プラットフォーム アプリの場合は、Visual Studio 2022 で、新しい空のアプリ (ユニバーサル Windows) プロジェクトを作成します。 プロジェクト名を入力した後、10.0.17763.0 より後の Windows SDK を自由に選択できます。
WinUI 3 アプリの場合、Blank App, Packaged (WinUI 3 in Desktop) テンプレートで新しいプロジェクトを作成し、シングルページの WinUI 3 アプリを設定します。 Windows App SDK バージョン 1.3 以降が必要です。
NuGet パッケージ マネージャーを使用してパッケージと依存関係をインストールする
Calling SDK の API とライブラリは、NuGet パッケージにより一般公開されています。
Calling SDK NuGet パッケージを検索、ダウンロード、インストールするには:
- [ツール]>[NuGet パッケージ マネージャー]>[ソリューションの NuGet パッケージの管理] を選択して、NuGet パッケージ マネージャーを開きます。
- [参照] を選択してから、検索ボックスに「Azure.Communication.Calling.WindowsClient」と入力します。
- [プレリリースを含める] チェックボックスがオンになっていることを確認します。
- Azure.Communication.Calling.WindowsClient パッケージを選択し、Azure.Communication.Calling.WindowsClient1.4.0-beta.1 以降のバージョンを選択します。
- 右側のペインで、Azure Communication Services プロジェクトに対応するチェックボックスをオンにします。
- [インストール] を選択します。
通話の文字起こしは、コア Call
オブジェクトの拡張機能です。 まず、文字起こし機能オブジェクトを取得する必要があります。
TranscriptionCallFeature transcriptionFeature = call.Features.Transcription;
次に、通話が文字起こしされているかどうかを確認するために、IsTranscriptionActive
の transcriptionFeature
プロパティを調べます。 "boolean
" を返します。
boolean isTranscriptionActive = transcriptionFeature.isTranscriptionActive;
文字起こしの変更をサブスクライブすることもできます。
private async void Call__OnIsTranscriptionActiveChanged(object sender, PropertyChangedEventArgs args)
boolean isTranscriptionActive = transcriptionFeature.IsTranscriptionActive();
}
transcriptionFeature.IsTranscriptionActiveChanged += Call__OnIsTranscriptionActiveChanged;
明示的な同意
注
この API は開発者向けのプレビューとして提供されており、お客様からのフィードバックに基づいて変更される場合があります。 この API は、運用環境では使用しないでください。 この API を使用するには、Azure Communication Services Calling Windows SDK のベータ リリースを使用します。
Teams 会議または通話が、記録または文字起こしに明示的な同意を要求するように構成されている場合は、ユーザーの文字起こしまたは記録を許可するために、ユーザーから明示的な同意を収集する必要があります。 会議に参加するときに事前に同意するか、レコーディングまたは文字起こしの開始時に事後対応的に同意することができます。 明示的な同意が与えられるまで、参加者の音声、ビデオ、画面共有は文字起こし中に無効になります。
プロパティ isTeamsConsentRequired
により、会議の文字起こしに明示的な同意が必要かどうかを確認できます。 値が true
に設定されている場合は、call
に明示的な同意が必要です。
boolean isTranscriptionConsentRequired = transcriptionFeature.isTeamsConsentRequired;
文字起こしに対するユーザーの同意を既に取得している場合は、 grantTeamsConsent()
メソッドを呼び出して、サービスへの明示的な同意を示すことができます。 この同意は 1 つの call
セッションでのみ有効であり、ユーザーは会議に再参加する場合、もう一度同意する必要があります。
transcriptionFeature.grantTeamsConsent();
文字起こしがアクティブであるときに、明示的な同意が必要であるものの、まだ与えられていない場合、オーディオ、ビデオ、または画面共有を有効にしようとすると失敗します。 この状況を認識するには、クラス reason
のプロパティ ParticipantCapabilities
を確認し、機能、turnVideoOn
、unmuteMic
、および shareScreen
を確認します。 それらの機能は、フィーチャー call.feature(Features.Capabilities)
にあります。 それらの機能では、ユーザーが明示的な同意を提供する必要がある場合に、理由 ExplicitConsentRequired
が返されます。
SDK との互換性
次の表に、個々の API をサポートする SDK の最小バージョンを示します。
操作 | ウェブ | ウェブユーザーインターフェース | iOS | iOS ユーザーインターフェース | アンドロイド | Androidのユーザーインターフェース | ウィンドウズ |
---|---|---|---|---|---|---|---|
文字起こしが開始されたイベントを取得する | 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 |
文字起こしの状態を取得する | 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 |
明示的な同意が必要かどうかを確認する | 1.31.2、1.32.1-beta.1 | ❌ | 2.16.0-beta.1 | ❌ | 2.14.0-beta.1 | ❌ | 1.12.0-beta.1 |
記録に明示的な同意を与える | 1.31.2、1.32.1-beta.1 | ❌ | 2.16.0-beta.1 | ❌ | 2.14.0-beta.1 | ❌ | 1.12.0-beta.1 |