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)
}