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