| 準拠規格 | NSObject |
| 宣言された場所 | OTAudioKit.h |
概要
CallKit などの通話サービスで使用するためのオーディオセッションマネージャを定義します。 このプロトコルの実装は任意です。カスタムオーディオデバイスは、これらの メソッドを実装して AVAudioSession を管理することができます。SDK に含まれるデフォルトのオーディオデバイスは、 正常に動作する実装を提供しています。
詳しくは 本書.
– enableCallingServicesMode 必須メソッド
AVAudioSessionの手動起動を有効にします。
- (void)enableCallingServicesMode
考察
この方法により、CallKit などの通話サービスとの統合に向けた SDK の準備が行われ、 適切なオーディオルーティングとセッション管理が可能になります。
SDKはAVAudioSessionの設定を管理しますが、セッションの起動はアプリケーションまたはCallKitが 担当します。
注: アプリのライフサイクルの早い段階で、通常は起動時、あるいは通話を開始する前に、このメソッドを呼び出してください。
登録地
OTAudioKit.h
– preconfigureAudioSessionForCallWithMode: 必須メソッド
CallKit ベースの通話に適した設定でオーディオセッションを構成します。
- (void)preconfigureAudioSessionForCallWithMode:(AVAudioSessionMode _Nullable)mode
パラメータ
mode |
設定時に適用する AVAudioSessionMode。一般的に、 AVAudioSessionModeVoiceChat 音声性能を最適化するために、VoIP通話にはこのモードを使用する必要があります。デフォルト以外のオーディオデバイス用にカスタムモードが用意されている場合は、そのモードが使用されます。そうでない場合は、 AVAudioSessionModeVoiceChat がデフォルトとして使用される。 |
考察
このメソッドは、 AVAudioSession 指定されたモードに合わせて最適化された設定が適用され、
オーディオカテゴリ、モード、ルーティング設定などが含まれます。ただし、 有効になりません
セッション。このセッションは、CallKitアクションによってトリガーされた際に正しく起動されるよう、
あらかじめ設定されています。
注: このメソッドは、セッションをアクティブ化する前に呼び出す必要があります。通常は、
CallKitの CXAnswerCallAction または CXStartCallAction. これにより、
後でシステムによって有効化される際の適切な設定が保証されます。詳しくは Apple Developer Forum をご覧ください。
登録地
OTAudioKit.h
– audioSessionDidActivate: 必須メソッド
オーディオセッションが有効になったことをSDKに通知します。
- (void)audioSessionDidActivate:(AVAudioSession *_Nonnull)session
パラメータ
session |
アクティブな AVAudioSession システムによって起動されたインスタンス。 |
考察
このメソッドは、システム(たとえばCallKitを介して)が オーディオセッションをアクティブ化した際に呼び出す必要があります。これにより、SDKに対して、オーディオが使用可能な状態になり、 セッションがアクティブになったことが通知されます。
注: この方法は、以下の場合のみ適用されます。 OTAudioSessionManagerModeCallingServices.
他のモード(例えば OTAudioSessionManagerModeVideoChat, これは
SDKがオーディオセッションの起動を自動的に処理するため、無視されます。
登録地
OTAudioKit.h
– audioSessionDidDeactivate: 必須メソッド
オーディオセッションが無効化されたことをSDKに通知します。
- (void)audioSessionDidDeactivate:(AVAudioSession *_Nonnull)session
パラメータ
session |
について AVAudioSession 無効化されたインスタンス。 |
考察
このメソッドは、システム(CallKitなど)がオーディオセッションを 無効化した際に呼び出す必要があります。これにより、SDKに対してオーディオリソースを解放するか、 それに応じて内部状態を更新するよう指示します。
注: この方法は、以下の場合のみ適用されます。 OTAudioSessionManagerModeCallingServices.
次のようなモードでは OTAudioSessionManagerModeVideoChat, この呼び出しは無視されます。
SDKがオーディオセッションのライフサイクルを自動的に管理するためです。
登録地
OTAudioKit.h