简介
该应用只是一个简单的对安卓手机振动马达进行各项测试的程序,但是由于用到了很多特性,所以被我用来作为实践新技术的最佳 APP。
首次发布时用于实践 java 到 kotlin 的迁移。
当前最新版本用于实践从普通 xml view 到 compose 的迁移。
当前已使用 compose 重构了所有界面。
以下为旧版本简介:
本应用可以实现对安卓智能手机的振动马达进行测试的需求。总共分为4组测试方法。
已编译版本:MotorTest-马达测试
测试方法简介
系统预设
在该组测试中,将会以安卓系统已经调教好的四种振动模式振动,是最基础的振动测试。需要注意的是,该组只支持安卓10以上设备。
程序预设
在该组测试中,将会以本人调教好的多种振动模式进行测试,且振动模式还在不断增加中。
连续测试
在该组测试,你可以自行指定振动强度和振动频率进行连续测试。
自由创作
在该组测试中,你可以完完全全自定义振动,我已经把谷歌开放出来的所有能够控制振动的参数都贴出来了,欢迎各位大佬使用,使用说明请移步“用法”查看。
ps:欢迎各位大佬使用自由创作调试后提交你的调教方案给我们,我们会在下次更新时加入至程序预设中。
自由创作
自由创作可以指定三个值:timings、amplitudes、repeat。
timings(时序):
表示时序与振幅组合中的持续时间,只能为大于等于0的整数,为0时将被忽略,单位毫秒,使用英文逗号将不同数值分割。例如:
100,200,100
表示先运行100ms、然后运行200ms、最后运行100ms。
amplitudes(振幅):
表示时序与振幅组合中的振幅,影响振动时的振动强度,取值范围0 - 255之间的整数,为0时表示关闭马达,使用英文逗号将不同数值分割。例如:
255,0,255
表示先以255振幅运行、然后停止、最后又以255振幅运行。
repeat(重复):
表示重复时序与振幅组合的位置,取值范围-1 - 上述组合的长度,为-1时表示不重复。
一个完整的示例如下:
timings:100,200,100
amplitudes:255,0,255
repeat:0
以上示例表示:0:以255振幅振动100ms;1:之后停止200ms;2:又以255振幅振动100ms。然后从序号0开始重复以上组合。
注意: 1.时序和振幅必须一一对应!
2.安卓8.0以下不支持控制振幅!(即振幅只支持0(启动马达)和非0(停止马达))
闲话
其实该项目早在去年就已经有想法并且开始着手制作,但是当时预想的并不是振动测试,而是妄图通过振动马达播放音乐。很显然,失败了,于是就有了这个“嗡嗡嗡”测试app。
但是或许这并不是痴心妄想,因为我之所以会产生这种想法完全源于我的三星s10就支持设置不同的振动模式,而不同的模式就是不同的旋律!这至少说明原则上是可以实现的。
不过我苦思冥想许久,翻阅了大量资料,查看了大量源码,始终无法找到解决方案。如果有大佬恰巧对此有所看法,欢迎来此贴和我讨论:有没有可能在软件层面实现安卓手机使用线性马达播放音乐?
另外,我的另一款正经app也欢迎大家试用:隐云图解制作-更方便的视频截图与台词拼接