Language

MediaProjection.CreateVirtualDisplay メソッド

定義

画面の内容をキャプチャする VirtualDisplay を作成します。

[Android.Runtime.Register("createVirtualDisplay", "(Ljava/lang/String;IIIILandroid/view/Surface;Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;", "")]
public Android.Hardware.Display.VirtualDisplay? CreateVirtualDisplay(string name, int width, int height, int dpi, Android.Views.DisplayFlags flags, Android.Views.Surface? surface, Android.Hardware.Display.VirtualDisplay.Callback? callback, Android.OS.Handler? handler);
[<Android.Runtime.Register("createVirtualDisplay", "(Ljava/lang/String;IIIILandroid/view/Surface;Landroid/hardware/display/VirtualDisplay$Callback;Landroid/os/Handler;)Landroid/hardware/display/VirtualDisplay;", "")>]
member this.CreateVirtualDisplay : string * int * int * int * Android.Views.DisplayFlags * Android.Views.Surface * Android.Hardware.Display.VirtualDisplay.Callback * Android.OS.Handler -> Android.Hardware.Display.VirtualDisplay

パラメーター

name
String

仮想ディスプレイの名前は、空でない必要があります。

width
Int32

仮想ディスプレイの幅 (ピクセル単位)。 0 より大きくなければなりません。

height
Int32

仮想ディスプレイの高さ (ピクセル単位)。 0 より大きくなければなりません。

dpi
Int32

仮想ディスプレイの密度 (dpi)。 0 より大きくなければなりません。

flags
DisplayFlags

仮想表示フラグの組み合わせ。 フラグの完全な一覧については、 DisplayManager を参照してください。

surface
Surface

仮想ディスプレイのコンテンツをレンダリングするサーフェス。最初に何も表示されない場合は null。

callback
VirtualDisplay.Callback

仮想ディスプレイの状態が変化したときに呼び出すコールバック、または null (存在しない場合) です。

handler
Handler

コールバックを呼び出す Handler 。呼び出し元スレッドのメイン Looperでコールバックを呼び出す必要がある場合は null。

返品

作成された仮想ディスプレイ。仮想ディスプレイを作成できなかった場合は null 。

属性

例外

Android 14 (API レベル 34) 以降を対象とするアプリケーションの場合、 MediaProjection.Callback が登録されていない場合。

プロジェクションが停止されている場合。または、Android 14 (API レベル 34) 以降を対象とするアプリケーションの場合、その OnStop() コールバックが受信されている場合、このプロジェクションが既に記録を開始している場合、または同じ同意結果に対して GetMediaProjection(Int32, Intent) を複数回呼び出すことによって取得された場合。

注釈

このメソッドを呼び出す前に、 MediaProjection.Callback を登録します。 仮想表示、サーフェス、および関連リソースを解放し、プロジェクション状態を表す UI を更新するには、 OnStop() をオーバーライドします。

Android 14 (API レベル 34) 以降を対象とするアプリケーションの場合、各ユーザー同意セッションは、このメソッドの呼び出しを 1 回許可します。 GetMediaProjection(Int32, Intent)に渡された結果データを再利用して複数のプロジェクション インスタンスを取得しないでください。また、同じプロジェクション インスタンスでこのメソッドを複数回呼び出さないでください。

Stop()呼び出されると、このプロジェクションで仮想ディスプレイを作成できなくなります。 Android 14 (API レベル 34) 以降を対象とするアプリケーションの場合、 OnStop() を受信した後も同じ制限が適用されます。 以前のバージョンを対象とするアプリケーションの場合、例外がスローされるのではなく、ユーザーにもう一度同意を求めることもできます。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください