我正在尝试在 Android 上的基于网络的游戏中获得触觉反馈,但我无法让
navigator.vibrate
正常工作。
更准确地说,
navigator.vibrate(1000)
根本不做任何事情(它只返回true
),而navigator.vibrate(1001)
振动一秒钟。高于 1000 的值似乎有效,而较低的值则无效(显然一秒对于触觉反馈来说太长了)。我尝试取消setTimeout
中的振动,但navigator.vibrate(0)
似乎也不起作用。
我没有处于静音模式,各种音量滑块都不为零,我已经激活了我能找到的所有与振动相关的设置,并且对
navigator.vibrate
的调用发生在用户交互时。我在 Google 或此处找不到任何可以解释此行为的信息。有谁知道出了什么问题以及如何/是否可以修复它?
您可以尝试使用振动模式而不是单一持续时间,例如
navigator.vibrate([500, 100, 500]); // Vibrate for 500ms, pause for 100ms, then vibrate for 500ms
如果 navigator.vibrate(0) 无法停止振动,您可以尝试使用 navigator.vibrate([]) 或 navigator.vibrate([0]) 作为解决方法。