次の方法で共有


アプリケーションでピクチャインピクチャを有効にする

ユーザーが通話中に、全画面表示 UI を使用すると、アプリでユーザーがマルチタスクを実行することを禁止できます。 アプリでユーザーのマルチタスクを有効にするには、次の 2 つの方法があります。

  • ユーザーが [戻る] ボタンを選択し、前の画面に戻ることをできるようにします。 通話中、ユーザーに通話 UI は表示されません。
  • ピクチャインピクチャを有効にします。

この記事では、Azure Communication Services UI ライブラリでピクチャインピクチャを有効にする方法を示します。 ピクチャインピクチャ機能はシステムによって提供され、CPU 負荷、RAM の空き、バッテリ状態など、デバイスでの機能サポートの対象となります。

前提条件

機能をオンにする

詳細については、オープンソースの Android UI ライブラリサンプル アプリケーション コードを参照してください。

ピクチャインピクチャのセットアップ

マルチタスクとピクチャインピクチャを有効にするには、CallCompositeBuilder.multitasking を使用して、enableMultitasking および enableSystemPictureInPictureWhenMultitasking コンストラクター パラメーターを指定した CallCompositeMultitaskingOptions を設定します。

val callComposite: CallComposite =
            CallCompositeBuilder()
            .multitasking(CallCompositeMultitaskingOptions(true, true))
            .build()

[戻る] ボタンは、enableMultitaskingtrue に設定されている場合に表示されます。

[戻る] ボタンが表示されている Android 通話画面のスクリーンショット。

ユーザーが [戻る] ボタンをタップすると、[呼び出し元 UI] が非表示になり、構成されている場合は、ピクチャインピクチャ ビューが表示されます。

CallComposite に対してマルチタスクがオンである場合、呼び出しアクティビティは専用タスクで開始されます。 タスク履歴には、アプリのアクティビティ用と Communication Services 通話アクティビティ用の 2 つの画面が表示されます。


プログラムでマルチタスクを入力し、ピクチャインピクチャが構成されている場合はピクチャインピクチャを表示するには、sendToBackground メソッドを呼び出します。

callComposite.sendToBackground()

ユーザーをプログラムで呼び出し元アクティビティに戻すには、 bringToForeground 関数を使用します。

callComposite.bringToForeground(context)

詳細については、オープンソースの iOS UI ライブラリサンプル アプリケーション コードを参照してください。

前提条件

アプリを実行する物理 iOS デバイス。 iOS シミュレーターでは、ピクチャインピクチャ機能はサポートされていません。

ピクチャインピクチャのセットアップ

マルチタスクとピクチャインピクチャを有効にするには、CallCompositeOptions コンストラクター パラメーター enableMultitasking および enableSystemPiPWhenMultitasking を使用します。

Note

デプロイ ターゲットが iOS 16 より前のアプリでは、ピクチャインピクチャ モードでカメラを使用するために com.apple.developer.avfoundation multitasking-camera-access エンタイトルメントが必要です。

let callCompositeOptions = CallCompositeOptions(
            enableMultitasking: true,
            enableSystemPictureInPictureWhenMultitasking: true)

let callComposite = CallComposite(withOptions: callCompositeOptions)

[戻る] ボタンは、enableMultitaskingtrue に設定されている場合に表示されます。

[戻る] ボタンが表示されている iOS 通話画面のスクリーンショット。

ユーザーが [戻る] ボタンをタップすると、[呼び出し元 UI] が非表示になり、ピクチャインピクチャが構成されている場合は、ピクチャインピクチャ ビューが表示されます。


プログラムでマルチタスクを開始または終了するには、isHidden プロパティを使用します。

// Close calling UI and display PiP
callComposite.isHidden = true
// Displaye calling UI and close PiP
callComposite.isHidden = false

次のステップ