小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题,经过测试发现wx.onAccelerometerChange Api提供的值应该对应iOS的CMDeviceMotion下面的gravity的x,y,z
我想得到加速度,也就是对应iOS的CMDeviceMotion下面的userAcceleration,该如何获取?
这是iOS端的
下图是微信API提供的接口
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
感谢@jeff 的回答,我去试试看~
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
不熟悉iOS,我理解你是需要扣除重力影响的加速度值是吧?
如果我说对了,又不想等官方的话,可以自己山寨一下,做个信号处理。
效果肯定没有底层做那么完美,不过考虑到微信暴露的采样频率很低,反正就意思意思。
单纯重力值 = 低通滤波(加速度)
线性加速度(扣除重力影响的) = 加速度值 - 重力值
// 来自Google Android文档的低通滤波public void onSensorChanged(SensorEvent event){ // alpha is calculated as t / (t + dT) // with t, the low-pass filter's time-constant // and dT, the event delivery rate final float alpha = 0.8; gravity[0] = alpha * gravity[0] + (1 - alpha) * event.values[0]; gravity[1] = alpha * gravity[1] + (1 - alpha) * event.values[1]; gravity[2] = alpha * gravity[2] + (1 - alpha) * event.values[2]; linear_acceleration[0] = event.values[0] - gravity[0]; linear_acceleration[1] = event.values[1] - gravity[1]; linear_acceleration[2] = event.values[2] - gravity[2]; }
// 来自Google Android文档的低通滤波
public void onSensorChanged(SensorEvent event)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
感谢@jeff 的回答,我去试试看~
不熟悉iOS,我理解你是需要扣除重力影响的加速度值是吧?
如果我说对了,又不想等官方的话,可以自己山寨一下,做个信号处理。
效果肯定没有底层做那么完美,不过考虑到微信暴露的采样频率很低,反正就意思意思。
单纯重力值 = 低通滤波(加速度)
线性加速度(扣除重力影响的) = 加速度值 - 重力值