Referencia de la API

Espejo de pantalla

Refleja la pantalla del dispositivo a la interfaz web y envía gestos táctiles de vuelta al dispositivo. Requiere el servicio de Accesibilidad de PlainApp para la entrada de control.

Definiciones de tipos

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
}

Operaciones

query

screenMirrorState

Devuelve true cuando se está ejecutando una sesión de espejo de pantalla.

bash
query GetScreenMirrorState {
  screenMirrorState
}
query

screenMirrorVideoCodec

Obtiene el códec de vídeo usado por la sesión de espejo actual/última.

bash
query GetScreenMirrorVideoCodec {
  screenMirrorVideoCodec { name }
}
query

screenMirrorControlEnabled

Devuelve true cuando el servicio de Accesibilidad de PlainApp está habilitado y puede enviar gestos.

bash
query GetScreenMirrorControlEnabled {
  screenMirrorControlEnabled
}
query

screenMirrorQuality

Obtiene el preset de calidad de espejo actual.

bash
query GetScreenMirrorQuality {
  screenMirrorQuality { mode resolution }
}
mutation

startScreenMirror

Inicia una sesión de espejo de pantalla. Pasa audio=true para también transmitir el audio del dispositivo (requiere permiso RECORD_AUDIO).

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

requestScreenMirrorAudio

Solicita el permiso de micrófono para el audio del espejo de pantalla. Devuelve true si ya se concedió, false (y dispara un diálogo de permiso) en caso contrario.

bash
mutation RequestScreenMirrorAudio {
  requestScreenMirrorAudio
}
mutation

stopScreenMirror

Detiene la sesión de espejo de pantalla activa.

bash
mutation StopScreenMirror {
  stopScreenMirror
}
mutation

updateScreenMirrorQuality

Cambia el preset de calidad del espejo. SMOOTH apunta a 720p, HD a 1080p.

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

sendScreenMirrorControl

Envía un gesto táctil o un evento de tecla al dispositivo. Requiere que el servicio de Accesibilidad de PlainApp esté habilitado.

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