手机震动/马达功能测试
在线检测手机震动马达是否工作正常。提供持续震动、脉冲震动等多种模式,测试设备的触感反馈与震动强度。
振动测试台
Vibration API:不支持非安全上下文
预设节奏
pattern:30
节奏/强度生成器(体感对比)
节奏
速度(BPM)
120 BPM
拍数
8 拍
强度(用“脉冲时长/间隔”近似)
强度 55 / 100(脉冲约 147ms,基础间隔约 121ms)
循环
循环间隔(ms)
生成 pattern:147, 353, 147, 353, 147, 353, 147, 353, 147, 353, 147, 353, 147, 353, 147(约 3647ms)
自定义 pattern
说明:pattern 由一串毫秒数组成,奇数位表示“振动时长”,偶数位表示“间隔时长”。例如:100,50,100
提醒:很多浏览器要求“用户手势”触发振动(点击按钮即可)。部分平台(尤其 iOS / Safari)可能完全不支持 Vibration API;Android/Chrome 支持更常见。
运行日志
User Agent-
建议若不生效:换 Android/Chrome、确认非省电模式、在 HTTPS 下测试。
暂无日志。点击左侧按钮触发一次振动测试。
你可以用同一台设备反复对比不同节奏/强度下的“体感差异”(是否明显、是否延迟、是否被系统吞掉)。
怎么用这个页面快速定位问题
• 先点“短脉冲/中脉冲”确认是否有任何振动反馈;无反馈通常是浏览器/系统不支持或被策略限制。
• 再用“SOS/心跳/三连震”测试“长短节奏区分”是否明显:如果只有“很弱的一下”,可能系统在节能/勿扰/静音策略下吞掉了部分振动。
• 用“节奏生成器”对比不同 BPM 与强度:强度本质是用时长与占空比近似,并非真实幅度控制。
• 如果你在 iPhone/Safari 上测试,多数情况下 Vibration API 不可用;建议用 Android/Chrome 做对照。
振动测试指南
验证 Vibration API 是否可用,并通过不同节奏与强度(近似)对比设备/浏览器的振动反馈表现。
步骤 1
确认 API 可用性
约 5 秒
查看页面顶部的“Vibration API:支持/不支持”,并先运行一次短脉冲。
点击“短脉冲(30ms)”或“中脉冲(80ms)”
如果完全无感,换设备/浏览器做对照(Android/Chrome 通常更容易成功)
如提示非安全上下文,建议在 https 下访问
提示:有些浏览器要求“用户手势”触发振动;直接点击按钮即可满足。
步骤 2
测试不同节奏
约 20 秒
用“预设节奏”与“节奏生成器”对比长短、快慢、复合节奏的体感差异。
运行 “双击 / 三连震 / SOS / 心跳” 观察区分度
调节 BPM(速度)与拍数,比较“稳定节拍 vs 双击/三连音”
若感觉延迟明显,可能是系统调度/省电策略导致(尤其后台/锁屏场景)
步骤 3
做“强度”对比(近似)
约 15 秒
Vibration API 没有真实幅度控制,“强度”这里用脉冲时长和间隔占空比做近似对比。
把强度拉到 20/50/80 各运行一次
观察“是否更明显/更长/更连续”以及是否出现“只震一下就没了”
在同一设备上对比更有意义;跨设备不要用作绝对结论
常见问题解答
关于振动 API 的支持差异、限制与排查建议。
1.
这个页面能验证什么?
它可以确认当前浏览器是否暴露 `navigator.vibrate`,并通过预设节奏/自定义 pattern 触发振动,帮助你做“是否有反馈、节奏是否可区分、是否存在明显延迟/吞振”的体感对照。
2.
为什么显示“支持”,但我感觉不到振动?
常见原因包括:系统处于省电/勿扰/静音或触觉反馈被关闭、设备硬件不支持/振子强度弱、浏览器对振动有频率/时长限制、或当前页面不在前台。建议在前台点击按钮触发,并用更长的 pattern(如三连震/SOS)做对照。
3.
“强度”是怎么测的?能控制幅度吗?
Vibration API 只有“时长/间隔”,没有真实的振动幅度参数。本页的“强度”是用更长的脉冲与更短的间隔(更高占空比)做体感近似,方便对比,但不代表真实幅度控制。
4.
iPhone / iOS Safari 可以用吗?
多数情况下不行。iOS/Safari 对 Vibration API 支持非常有限(很多版本直接不支持)。如果你需要可靠的振动测试,建议用 Android/Chrome 作为主要对照环境。
5.
为什么需要 HTTPS(安全上下文)?
部分浏览器会把振动视为“敏感能力”,在非安全上下文(HTTP)下可能被限制。即使不是硬性要求,使用 https 通常更稳定。
6.
会上传任何数据吗?
不会。pattern 生成、触发与日志记录都在你的浏览器本地完成,本页不会把设备信息或测试数据上传到服务器。