# process.adb.recorder 库模块帮助文档

## process.adb 成员列表 <a id="process.adb" href="#process.adb">&#x23;</a>

### process.adb.recorder() <a id="process.adb.recorder" href="#process.adb.recorder">&#x23;</a>
创建安卓操作录制器，录制手机触摸与按键事件。  
录制器基于 adb getevent 命令捕获底层输入事件，  
可识别点击、滑动、长按触摸、按键等操作  

[返回对象:processAdbRecorderObject](#processAdbRecorderObject)

## processAdbRecorderObject 成员列表 <a id="processAdbRecorderObject" href="#processAdbRecorderObject">&#x23;</a>

### processAdbRecorderObject.close() <a id="processAdbRecorderObject.close" href="#processAdbRecorderObject.close">&#x23;</a>
关闭对象

### processAdbRecorderObject.getDeviceInfo() <a id="processAdbRecorderObject.getDeviceInfo" href="#processAdbRecorderObject.getDeviceInfo">&#x23;</a>
获取设备参数，返回包含 maxPosX、maxPosY、screenWidth、screenHeight 的表

### processAdbRecorderObject.longPressTime <a id="processAdbRecorderObject.longPressTime" href="#processAdbRecorderObject.longPressTime">&#x23;</a>
长按判定阈值（毫秒），默认 500。  
触摸或按键持续时间超过此值判定为长按

### processAdbRecorderObject.maxPosX <a id="processAdbRecorderObject.maxPosX" href="#processAdbRecorderObject.maxPosX">&#x23;</a>
设备触摸 X 坐标最大值（只读）

### processAdbRecorderObject.maxPosY <a id="processAdbRecorderObject.maxPosY" href="#processAdbRecorderObject.maxPosY">&#x23;</a>
设备触摸 Y 坐标最大值（只读）

### processAdbRecorderObject.maxSwipeDuration <a id="processAdbRecorderObject.maxSwipeDuration" href="#processAdbRecorderObject.maxSwipeDuration">&#x23;</a>
滑动最大持续时间（毫秒），默认 2000。  
限制录制的滑动时间上限

### processAdbRecorderObject.minSwipeDuration <a id="processAdbRecorderObject.minSwipeDuration" href="#processAdbRecorderObject.minSwipeDuration">&#x23;</a>
滑动最小持续时间（毫秒），默认 100。  
防止 duration 过小导致命令执行异常

### processAdbRecorderObject.moveThreshold <a id="processAdbRecorderObject.moveThreshold" href="#processAdbRecorderObject.moveThreshold">&#x23;</a>
移动判定阈值（像素），默认 30。  
触摸移动距离超过此值判定为滑动，否则为点击

### processAdbRecorderObject.on <a id="processAdbRecorderObject.on" href="#processAdbRecorderObject.on">&#x23;</a>

```aardio
processAdbRecorderObject.on = function(event, ...){  
    select(event) {  
        case "tap" {  
            var x, y = ...;  
            /*点击事件*/  
        }  
        case "swipe" {  
            var x1, y1, x2, y2, duration = ...;  
            /*滑动事件*/  
        }  
        case "long-press-touch" {  
            var x, y, duration = ...;  
            /*长按屏幕事件，可用原地滑动模拟*/  
        }  
        case "key" {  
            var keyName = ...;  
            /*按键事件，keyName 如 "keyVolumeUp"*/  
        }  
        case "long-press-key" {  
            var keyName, duration = ...;  
            /*长按按键事件*/  
        }  
    }  
}
```

### processAdbRecorderObject.recording <a id="processAdbRecorderObject.recording" href="#processAdbRecorderObject.recording">&#x23;</a>
是否正在录制

### processAdbRecorderObject.screenHeight <a id="processAdbRecorderObject.screenHeight" href="#processAdbRecorderObject.screenHeight">&#x23;</a>
设备屏幕高度（只读）

### processAdbRecorderObject.screenWidth <a id="processAdbRecorderObject.screenWidth" href="#processAdbRecorderObject.screenWidth">&#x23;</a>
设备屏幕宽度（只读）

### processAdbRecorderObject.start() <a id="processAdbRecorderObject.start" href="#processAdbRecorderObject.start">&#x23;</a>
开始录制。  
成功返回 true，失败返回 null 和错误信息。  
录制前需确保设备已连接

### processAdbRecorderObject.stop() <a id="processAdbRecorderObject.stop" href="#processAdbRecorderObject.stop">&#x23;</a>
停止录制。  
会自动处理未完成的触摸事件
