现在使用线性马达的手机越来越多,那么有没有可能实现使用线性马达来播放音乐?至少硬件层面上肯定是能实现的,b 站就有将马达拆下后连接播放器播放音乐的视频。 那么,如果想要从软件层面上实现有无可能? 查阅了安卓的 api,发现安卓对于震动的操作,主要有:
static VibrationEffect createOneShot(long milliseconds, int amplitude)
Create a one shot vibration.
static VibrationEffect createPredefined(int effectId)
Create a predefined vibration effect.
static VibrationEffect createWaveform(long[] timings, int[] amplitudes, int repeat)
Create a waveform vibration.
static VibrationEffect createWaveform(long[] timings, int repeat)
Create a waveform vibration.
int describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.
可操作性最强的是:
createWaveform(long[] timings, int[] amplitudes, int repeat)
这个方法可以同时控制震动的波形数据( timings )和震动的振幅( amplitudes ),但是,问题在于波形数据( timings )指定的是持续震动的时间,而非控制震动速度。
但是,个人认为可能可以通过调节 timings 和 amplitudes 来实现震动出不同的音调,奈何本人乐理知识和物理知识都极差,完全不知道该怎么弄。
另,我现在所使用的三星 s10 手机就可以在系统设置中选择不同的震动模式,每个模式都是一段简单的旋律,所以,从软件层面上应当是可以实现这个目的的。
我也曾经尝试搜寻三星的实现方法,奈何技艺不精,没有搜寻到相关的代码或说明。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.