diff --git a/app/src/main/assets/docs/all.html b/app/src/main/assets/docs/all.html index 051d0aa2..a4563810 100644 --- a/app/src/main/assets/docs/all.html +++ b/app/src/main/assets/docs/all.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • @@ -90,8 +92,10 @@ @include http @include images @include keys +@include media @include modules @include widgets-based-automation +@include sensors @include shell @include storages @include threads diff --git a/app/src/main/assets/docs/app.html b/app/src/main/assets/docs/app.html index 59b6b380..58e3e3ae 100644 --- a/app/src/main/assets/docs/app.html +++ b/app/src/main/assets/docs/app.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/console.html b/app/src/main/assets/docs/console.html index 2eb3bb30..3a12754c 100644 --- a/app/src/main/assets/docs/console.html +++ b/app/src/main/assets/docs/console.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/coordinates-based-automation.html b/app/src/main/assets/docs/coordinates-based-automation.html index ab7783c3..2a3cd81f 100644 --- a/app/src/main/assets/docs/coordinates-based-automation.html +++ b/app/src/main/assets/docs/coordinates-based-automation.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/device.html b/app/src/main/assets/docs/device.html index 7d0daeb8..39d288ea 100644 --- a/app/src/main/assets/docs/device.html +++ b/app/src/main/assets/docs/device.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/dialogs.html b/app/src/main/assets/docs/dialogs.html index f982d373..ced93586 100644 --- a/app/src/main/assets/docs/dialogs.html +++ b/app/src/main/assets/docs/dialogs.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/documentation.html b/app/src/main/assets/docs/documentation.html index c9412291..2d07b665 100644 --- a/app/src/main/assets/docs/documentation.html +++ b/app/src/main/assets/docs/documentation.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/engines.html b/app/src/main/assets/docs/engines.html index b2689de1..ad4ef493 100644 --- a/app/src/main/assets/docs/engines.html +++ b/app/src/main/assets/docs/engines.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/events.html b/app/src/main/assets/docs/events.html index 4d6d08b0..446c0d1b 100644 --- a/app/src/main/assets/docs/events.html +++ b/app/src/main/assets/docs/events.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/files.html b/app/src/main/assets/docs/files.html index 851ed9ac..a182e972 100644 --- a/app/src/main/assets/docs/files.html +++ b/app/src/main/assets/docs/files.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/floaty.html b/app/src/main/assets/docs/floaty.html index 50ca5fc3..ad58b322 100644 --- a/app/src/main/assets/docs/floaty.html +++ b/app/src/main/assets/docs/floaty.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/globals.html b/app/src/main/assets/docs/globals.html index afa82ee4..b9be56da 100644 --- a/app/src/main/assets/docs/globals.html +++ b/app/src/main/assets/docs/globals.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/http.html b/app/src/main/assets/docs/http.html index 1e09b8b1..7f072d79 100644 --- a/app/src/main/assets/docs/http.html +++ b/app/src/main/assets/docs/http.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/images.html b/app/src/main/assets/docs/images.html index 2221100e..ac3f8b66 100644 --- a/app/src/main/assets/docs/images.html +++ b/app/src/main/assets/docs/images.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/index.html b/app/src/main/assets/docs/index.html index 117bac9f..eb58ec90 100644 --- a/app/src/main/assets/docs/index.html +++ b/app/src/main/assets/docs/index.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • @@ -98,8 +100,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/keys.html b/app/src/main/assets/docs/keys.html index 444ef845..5bf46617 100644 --- a/app/src/main/assets/docs/keys.html +++ b/app/src/main/assets/docs/keys.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/media.html b/app/src/main/assets/docs/media.html new file mode 100644 index 00000000..68c9a799 --- /dev/null +++ b/app/src/main/assets/docs/media.html @@ -0,0 +1,177 @@ + + + + + Media | Auto.js 3.0.0 文档 + + + + + + +
    +
    + + +
    + + +
    + + + +
    + +
    +
    +

    Auto.js 3.0.0 文档

    +
    +

    + 索引 | + 查看全部 +

    +
    +
    +
    + + + +
    +

    Media#

    +
    Stability: 2 - Stable

    media模块提供多媒体编程的支持。目前仅支持音乐播放和媒体文件扫描。后续会结合UI加入视频播放等功能。

    +

    需要注意是,使用该模块播放音乐时是在后台异步播放的,在脚本结束后会自动结束播放,因此可能需要插入诸如sleep()的语句来使脚本保持运行。例如:

    +
    //播放音乐
    +media.playMusic("/sdcard/1.mp3");
    +//让音乐播放完
    +sleep(media.getMusicDuration());
    +

    media.scanFile(path)#

    +
    +

    扫描路径path的媒体文件,将它加入媒体库中;或者如果该文件以及被删除,则通知媒体库移除该文件。

    +

    媒体库包括相册、音乐库等,因此该函数可以用于把某个图片文件加入相册。

    +
    //请求截图
    +requestScreenCapture(false);
    +//截图
    +var im = captureScreen();
    +var path = "/sdcard/screenshot.png";
    +//保存图片
    +im.saveTo(path);
    +//把图片加入相册
    +media.scanFile(path);
    +

    media.playMusic(path[, volume, looping])#

    +
      +
    • path <string> 音乐文件路径
    • +
    • volume <number> 播放音量,为0~1的浮点数,默认为1
    • +
    • looping <boolean> 是否循环播放,如果looping为true则循环播放,默认为false
    • +
    +

    播放音乐文件path。该函数不会显示任何音乐播放界面。如果文件不存在或者文件不是受支持的音乐格式,则抛出UncheckedIOException异常。

    +
    //播放音乐
    +media.playMusic("/sdcard/1.mp3");
    +//让音乐播放完
    +sleep(media.getMusicDuration());
    +

    如果要循环播放音乐,则使用looping参数:

    +
    
    +

    //传递第三个参数为true以循环播放音乐 +media.playMusic("/sdcard/1.mp3", 1, true); +//等待三次播放的时间 +sleep(media.getMusicDuration() * 3);

    +
    
    +

    如果要使用音乐播放器播放音乐,调用app.viewFile(path)函数。

    +

    media.musicSeekTo(msec)#

    +
      +
    • msec <number> 毫秒数,表示音乐进度
    • +
    +

    把当前播放进度调整到时间msec的位置。如果当前没有在播放音乐,则调用函数没有任何效果。

    +

    例如,要把音乐调到1分钟的位置,为media.musicSeekTo(60 * 1000)

    +
    //播放音乐
    +media.playMusic("/sdcard/1.mp3");
    +//调整到30秒的位置
    +media.musicSeekTo(30 * 1000);
    +//等待音乐播放完成
    +sleep(media.getMusicDuration() - 30 * 1000);
    +

    media.pauseMusic()#

    +

    暂停音乐播放。如果当前没有在播放音乐,则调用函数没有任何效果。

    +

    media.resumeMusic()#

    +

    继续音乐播放。如果当前没有播放过音乐,则调用该函数没有任何效果。

    +

    media.stopMusic()#

    +

    停止音乐播放。如果当前没有在播放音乐,则调用函数没有任何效果。

    +

    media.isMusicPlaying()#

    +
    +

    返回当前是否正在播放音乐。

    +

    media.getMusicDuration()#

    +
    +

    返回当前音乐的时长。单位毫秒。

    +

    media.getMusicCurrentPosition()#

    +
    +

    返回当前音乐的播放进度(已经播放的时间),单位毫秒。

    + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/docs/modules.html b/app/src/main/assets/docs/modules.html index 42b3a6fc..06c95226 100644 --- a/app/src/main/assets/docs/modules.html +++ b/app/src/main/assets/docs/modules.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/overview.html b/app/src/main/assets/docs/overview.html index 2350f9f2..d69dd815 100644 --- a/app/src/main/assets/docs/overview.html +++ b/app/src/main/assets/docs/overview.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/qa.html b/app/src/main/assets/docs/qa.html index 09176479..2aaf28af 100644 --- a/app/src/main/assets/docs/qa.html +++ b/app/src/main/assets/docs/qa.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/sensors.html b/app/src/main/assets/docs/sensors.html new file mode 100644 index 00000000..f4c768df --- /dev/null +++ b/app/src/main/assets/docs/sensors.html @@ -0,0 +1,321 @@ + + + + + Sensors | Auto.js 3.0.0 文档 + + + + + + +
    +
    + + +
    + + +
    + + + +
    + +
    +
    +

    Auto.js 3.0.0 文档

    +
    +

    + 索引 | + 查看全部 +

    +
    +
    +
    + + + +
    +

    Sensors#

    +
    Stability: 2 - Stable

    sensors模块提供了获取手机上的传感器的信息的支持,这些传感器包括距离传感器、光线光感器、重力传感器、方向传感器等。需要指出的是,脚本只能获取传感器的数据,不能模拟或伪造传感器的数据和事件,因此诸如模拟摇一摇的功能是无法实现的。

    +

    要监听一个传感器时,需要使用sensors.register()注册监听器,之后才能开始监听;不需要监听时则调用sensors.unregister()注销监听器。在脚本结束时会自动注销所有的监听器。同时,这种监听会使脚本保持运行状态,如果不注销监听器,脚本会一直保持运行状态。

    +

    例如,监听光线传感器的代码为:

    +
    //光线传感器监听
    +sensors.register("light").on("change", (event, light)=>{
    +    log("当前光强度为", light);
    +});
    +

    要注意的是,每个传感器的数据并不相同,所以对他们调用on()监听事件时的回调函数参数也不是相同,例如光线传感器参数为(event, light),加速度传感器参数为(event, ax, ay, az)。甚至在某些设备上的传感器参数有所增加,例如华为手机的距离传感器为三个参数,一般手机只有一个参数。

    +

    常用的传感器及其事件参数如下表:

    +
      +
    • accelerometer 加速度传感器,参数(event, ax, ay, az):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • ax <number> x轴上的加速度,单位m/s^2
      • +
      • ay <number> y轴上的加速度,单位m/s^2
      • +
      • az <number> z轴上的加速度,单位m/s^2 +这里的x轴,y轴,z轴所属的坐标系统如下图(其中z轴垂直于设备屏幕表面):

        +

        !axis_device

        +
      • +
      +
    • +
    • orientation 方向传感器,参数(event, azimuth, pitch, roll):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • azimuth <number> 方位角,从地磁指北方向线起,依顺时针方向到y轴之间的水平夹角,单位角度,范围0~359
      • +
      • pitch <number> 绕x轴旋转的角度,当设备水平放置时该值为0,当设备顶部翘起时该值为正数,当设备尾部翘起时该值为负数,单位角度,范围-180~180
      • +
      • roll <number> 绕y轴顺时针旋转的角度,单位角度,范围-90~90
      • +
      +
    • +
    • gyroscope 陀螺仪传感器,参数(event, wx, wy, wz):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • wx <number> 绕x轴的角速度,单位弧度/s
      • +
      • wy <number> 绕y轴的角速度,单位弧度/s
      • +
      • wz <number> 绕z轴的角速度,单位弧度/s
      • +
      +
    • +
    • magnetic_field 磁场传感器,参数(event, bx, by, bz):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • bx <number> x轴上的磁场强度,单位uT
      • +
      • by <number> y轴上的磁场强度,单位uT
      • +
      • bz <number> z轴上的磁场强度,单位uT
      • +
      +
    • +
    • gravity 重力传感器,参数(event, gx, gy, gz):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • gx <number> x轴上的重力加速度,单位m/s^2
      • +
      • gy <number> y轴上的重力加速度,单位m/s^2
      • +
      • gz <number> z轴上的重力加速度,单位m/s^2
      • +
      +
    • +
    • linear_acceleration 线性加速度传感器,参数(event, ax, ay, az):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • ax <number> x轴上的线性加速度,单位m/s^2
      • +
      • ay <number> y轴上的线性加速度,单位m/s^2
      • +
      • az <number> z轴上的线性加速度,单位m/s^2
      • +
      +
    • +
    • ambient_temperature 环境温度传感器,大部分设备并不支持,参数(event, t):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • t <number> 环境温度,单位摄氏度。
      • +
      +
    • +
    • light 光线传感器,参数(event, light):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • light <number> 环境光强度,单位lux
      • +
      +
    • +
    • pressure 压力传感器,参数(event, p):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • p <number> 大气压,单位hPa
      • +
      +
    • +
    • proximity 距离传感器,参数(event, distance):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • distance <number> 一般指设备前置摄像头旁边的距离传感器到前方障碍物的距离,并且很多设备上这个值只有两种情况:当障碍物较近时该值为0,当障碍物较远或在范围内没有障碍物时该值为5
      • +
      +
    • +
    • relative_humidity 湿度传感器,大部分设备并不支持,参数(event, rh):

      +
        +
      • event SensorEvent 传感器事件,用于获取传感器数据变化时的所有信息
      • +
      • rh <number> 相对湿度,范围为0~100(百分比)
      • +
      +
    • +
    +

    sensors.register(sensorName[, delay])#

    +
      +
    • sensorName <string> 传感器名称,常用的传感器名称如上面所述
    • +
    • delay <number> 传感器数据更新频率,可选,默认为sensors.delay.normal。可用的值如下:
        +
      • sensors.delay.normal 正常频率
      • +
      • sensors.delay.ui 适合于用户界面的更新频率
      • +
      • sensors.delay.game 适合于游戏的更新频率
      • +
      • sensors.delay.fastest 最快的更新频率】
      • +
      +
    • +
    • 返回 SensorEventEmiiter
    • +
    +

    注册一个传感器监听并返回SensorEventEmitter

    +

    例如:

    +
    console.show();
    +//注册传感器监听
    +var sensor = sensors.register("gravity");
    +if(sensor == null){
    +    toast("不支持重力传感器");
    +    exit();
    +}
    +//监听数据
    +sensor.on("change", (gx, gy, gz)=>{
    +    log("重力加速度: %d, %d, %d", gx, gy, gz);
    +});
    +

    可以通过delay参数来指定传感器数据的更新频率,例如:

    +
    var sensor = sensors.register("gravity", sensors.delay.game);
    +

    另外,如果不支持sensorName所指定的传感器,那么该函数将返回null;但如果sensors.ignoresUnsupportedSensor的值被设置为true, 则该函数会返回一个不会分发任何传感器事件的SensorEventEmitter

    +

    例如:

    +
    sensors.ignoresUnsupportedSensor = true;
    +//无需null判断
    +sensors.register("gravity").on("change", (gx, gy, gz)=>{
    +    log("重力加速度: %d, %d, %d", gx, gy, gz);
    +});
    +

    更多信息,参见SensorEventEmittersensors.ignoresUnsupportedSensor

    +

    sensors.unregister(emitter)#

    +
    +

    注销该传感器监听器。被注销的监听器将不再能监听传感器数据。

    +
    //注册一个传感器监听器
    +var sensor = sensors.register("gravity");
    +if(sensor == null){
    +    exit();
    +}
    +//2秒后注销该监听器
    +setTimeout(()=> {
    +    sensors.unregister(sensor);
    +}, 2000);
    +

    sensors.unregisterAll()#

    +

    注销所有传感器监听器。

    +

    sensors.ignoresUnsupportedSensor#

    +
    +

    表示是否忽略不支持的传感器。如果该值被设置为true,则函数sensors.register()即使对不支持的传感器也会返回一个无任何数据的虚拟传感器监听,也就是sensors.register()不会返回null从而避免非空判断,并且此时会触发sensors的"unsupported_sensor"事件。

    +
    //忽略不支持的传感器
    +sensors.ignoresUnsupportedSensor = true;
    +//监听有不支持的传感器时的事件
    +sensors.on("unsupported_sensor", function(sensorName){
    +    toastLog("不支持的传感器: " + sensorName);
    +});
    +//随便注册一个不存在的传感器。
    +log(sensors.register("aaabbb"));
    +

    事件: 'unsupported_sensor'#

    +
      +
    • sensorName <string> 不支持的传感器名称
    • +
    +

    sensors.ignoresUnsupportedSensor被设置为true并且有不支持的传感器被注册时触发该事件。事件参数的传感器名称。

    +

    SensorEventEmitter#

    +

    注册传感器返回的对象,其本身是一个EventEmmiter,用于监听传感器事件。

    +

    事件: 'change'#

    +
      +
    • ..args <Any> 传感器参数
    • +
    +

    当传感器数据改变时触发该事件;该事件触发的最高频繁由sensors.register()指定的delay参数决定。

    +

    事件参数根据传感器类型不同而不同,具体参见本章最前面的列表。

    +

    一个监听光线传感器和加速度传感器并且每0.5秒获取一个数据并最终写入一个csv表格文件的例子如下:

    +
    //csv文件路径
    +cosnt csvPath = "/sdcard/sensors_data.csv";
    +//记录光线传感器的数据
    +var light = 0;
    +//记录加速度传感器的数据
    +var ax = 0;
    +var ay = 0;
    +var az = 0;
    +//监听光线传感器
    +sensors.register("light", sensors.delay.fastest)
    +    .on("change", l => {
    +        light = l;
    +    });
    +//监听加速度传感器
    +sensors.register("accelerometer", sensors.delay.fastest)
    +    .on("change", (ax0, ay0, az0) => {
    +        ax = ax0;
    +        ay = ay0;
    +        az = az0;
    +    });
    +
    +var file = open(csvPath, "w");
    +//写csv表格头
    +file.writeline("light,ax,ay,az")
    +//每0.5秒获取一次数据并写入文件
    +setInterval(()=>{
    +    file.writeline(util.format("%d,%d,%d,%d", light, ax, ay, az));
    +}, 500);
    +//10秒后退出并打开文件
    +setTimeout(()=>{
    +    file.close();
    +    sensors.unregsiterAll();
    +    app.viewFile(csvPath);
    +}, 10 * 1000);
    +

    事件: 'accuracy_change'#

    +
      +
    • accuracy <number> 表示传感器精度。为以下值之一:
        +
      • -1 传感器未连接
      • +
      • 0 传感器不可读
      • +
      • 1 低精度
      • +
      • 2 中精度
      • +
      • 3 高精度
      • +
      +
    • +
    +

    当传感器精度改变时会触发的事件。比较少用。

    + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/docs/shell.html b/app/src/main/assets/docs/shell.html index c0a3b1cf..df5b5211 100644 --- a/app/src/main/assets/docs/shell.html +++ b/app/src/main/assets/docs/shell.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/storages.html b/app/src/main/assets/docs/storages.html index 89388932..57a033ce 100644 --- a/app/src/main/assets/docs/storages.html +++ b/app/src/main/assets/docs/storages.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/threads.html b/app/src/main/assets/docs/threads.html index 4b6ea3e3..d36ade17 100644 --- a/app/src/main/assets/docs/threads.html +++ b/app/src/main/assets/docs/threads.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/timers.html b/app/src/main/assets/docs/timers.html index 135e0f06..264743d5 100644 --- a/app/src/main/assets/docs/timers.html +++ b/app/src/main/assets/docs/timers.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/ui.html b/app/src/main/assets/docs/ui.html index a1e2e3d8..d5d96e36 100644 --- a/app/src/main/assets/docs/ui.html +++ b/app/src/main/assets/docs/ui.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/update.html b/app/src/main/assets/docs/update.html new file mode 100644 index 00000000..947d736e --- /dev/null +++ b/app/src/main/assets/docs/update.html @@ -0,0 +1,99 @@ + + + + + Index | Auto.js 3.0.0 文档 + + + + + + +
    +
    + + +
    + + +
    + + + +
    + +
    +
    +

    Auto.js 3.0.0 文档

    +
    +

    + 索引 | + 查看全部 +

    +
    +
    +
    + +
    +

    目录

    + +
    + +
    +
      +
    • 全新的界面,更方便地浏览和管理
    • +
    • 全新的编辑器,支持自动补全,长按函数弹出帮助,插入函数,侧拉菜单帮助等
    • +
    • 全新的文档
    • +
    • 加入脚本交流社区,可以在社区直接提问、发布脚本、下载脚本
    • +
    • 支持定时任务
    • +
    • 简单的代码生成功能,对于简单情况的控件可以直接生成代码
    • +
    • 代码打包功能,可以把代码打包成apk,支持和图片等静态资源一起打包
    • +
    • 支持编写
    • +
    • 更丰富的函数和模块,包括找图找色、悬浮窗、多线程、本地存储、设备设置和信息等功能
    • +
    + +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/app/src/main/assets/docs/util.html b/app/src/main/assets/docs/util.html index 4c437983..95a7ab29 100644 --- a/app/src/main/assets/docs/util.html +++ b/app/src/main/assets/docs/util.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/app/src/main/assets/docs/widgets-based-automation.html b/app/src/main/assets/docs/widgets-based-automation.html index ee290346..36a7fb67 100644 --- a/app/src/main/assets/docs/widgets-based-automation.html +++ b/app/src/main/assets/docs/widgets-based-automation.html @@ -39,8 +39,10 @@
  • Http - HTTP
  • Images - 图片与图色处理
  • Keys - 按键模拟
  • +
  • Media - 多媒体
  • Modules - 模块
  • WidgetsBasedAutomation - 基于控件的操作
  • +
  • Sensors - 传感器
  • Shell - Shell命令
  • Storages - 本地存储
  • Threads - 多线程
  • diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Media.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Media.java index 0fcbdffb..8ea7fe70 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Media.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Media.java @@ -58,6 +58,16 @@ public class Media implements MediaScannerConnection.MediaScannerConnectionClien mMediaPlayer.start(); } + public void musicSeekTo(int m) { + if (mMediaPlayer == null) + return; + mMediaPlayer.seekTo(m); + } + + public boolean isMuiscPlaying() { + return mMediaPlayer != null && mMediaPlayer.isPlaying(); + } + public void pauseMusic() { if (mMediaPlayer == null) return; @@ -70,6 +80,19 @@ public class Media implements MediaScannerConnection.MediaScannerConnectionClien mMediaPlayer.start(); } + public int getMusicDuration() { + if (mMediaPlayer == null) { + return 0; + } + return mMediaPlayer.getDuration(); + } + + public int getMusicCurrentPosition() { + if (mMediaPlayer == null) + return -1; + return mMediaPlayer.getCurrentPosition(); + } + public void stopMusic() { if (mMediaPlayer == null) return; diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Sensors.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Sensors.java index d4acf51a..a2964dee 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Sensors.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Sensors.java @@ -96,7 +96,7 @@ public class Sensors extends EventEmitter implements Loopers.LooperQuitHandler { } public SensorEventEmitter register(String sensorName) { - return register(sensorName, delay.normal); + return register(sensorName, Delay.normal); } public SensorEventEmitter register(String sensorName, int delay) {