API リファレンス

Screen Mirror

デバイス画面を web UI にミラーリングし、タッチジェスチャーをデバイスにディスパッチします。制御入力には PlainApp アクセシビリティサービスが必要です。

型定義

bash
type ScreenMirrorQuality {
  mode: ScreenMirrorMode!       # SMOOTH (720p) | HD (1080p)
  resolution: Int!
}

type ScreenMirrorVideoCodec {
  # Hardware/software video codec name used by the active mirror session.
  # Platform-dependent; see PlainApp source for the full list.
}

enum ScreenMirrorMode {
  SMOOTH
  HD
}

enum ScreenMirrorControlAction {
  CLICK
  LONG_PRESS
  SCROLL
  SWIPE
  TEXT
  BACK
  HOME
  RECENT
  POWER_DIALOG
  VOLUME_UP
  VOLUME_DOWN
  NOTIFICATIONS
  QUICK_SETTINGS
  LOCK_SCREEN
  SCREENSHOT
}

input ScreenMirrorControlInput {
  action: ScreenMirrorControlAction!
  x: Float
  y: Float
  x2: Float
  y2: Float
  text: String
}

操作

query

screenMirrorState

スクリーンミラーセッションが実行中の場合は true を返します。

bash
query GetScreenMirrorState {
  screenMirrorState
}
query

screenMirrorVideoCodec

現在/最後のミラーセッションで使用された動画コーデックを取得します。

bash
query GetScreenMirrorVideoCodec {
  screenMirrorVideoCodec { name }
}
query

screenMirrorControlEnabled

PlainApp アクセシビリティサービスが有効でジェスチャーをディスパッチできる場合は true を返します。

bash
query GetScreenMirrorControlEnabled {
  screenMirrorControlEnabled
}
query

screenMirrorQuality

現在のミラー品質プリセットを取得します。

bash
query GetScreenMirrorQuality {
  screenMirrorQuality { mode resolution }
}
mutation

startScreenMirror

スクリーンミラーセッションを開始します。audio=true を渡すとデバイスのオーディオもストリーミングします (RECORD_AUDIO 権限が必要)。

bash
mutation StartScreenMirror($audio: Boolean!) {
  startScreenMirror(audio: $audio)
}
mutation

requestScreenMirrorAudio

スクリーンミラーオーディオ用のマイク権限を要求します。既に許可されている場合は true を返し、そうでない場合は false を返します (権限ダイアログをトリガー)。

bash
mutation RequestScreenMirrorAudio {
  requestScreenMirrorAudio
}
mutation

stopScreenMirror

アクティブなスクリーンミラーセッションを停止します。

bash
mutation StopScreenMirror {
  stopScreenMirror
}
mutation

updateScreenMirrorQuality

ミラー品質プリセットを切り替えます。SMOOTH は 720p、HD は 1080p をターゲットにします。

bash
mutation UpdateScreenMirrorQuality($mode: ScreenMirrorMode!) {
  updateScreenMirrorQuality(mode: $mode)
}
mutation

sendScreenMirrorControl

タッチジェスチャーまたはキーイベントをデバイスにディスパッチします。PlainApp アクセシビリティサービスを有効にする必要があります。

bash
mutation SendScreenMirrorControl($input: ScreenMirrorControlInput!) {
  sendScreenMirrorControl(input: $input)
}