uni.onGyroscopeChange(CALLBACK)

监听陀螺仪数据变化事件。

支付宝小程序频率为 500ms/次,微信小程序频率根据 uni.startGyroscope 的 interval 参数设置。事件只有在调用 uni.startGyroscope 后才会开始监听,使用 uni.stopGyroscope 可以停止监听。

平台差异说明

5+AppH5微信小程序支付宝小程序百度小程序头条小程序
xxxx

CALLBACK 参数说明

属性类型说明
resObjectres = {x,y,x}

res 的结构

名称类型描述
xnumberx轴方向角速度
ynumbery轴方向角速度
znumberz轴方向角速度

uni.startGyroscope(OBJECT)

开始监听陀螺仪数据。

平台差异说明

5+AppH5微信小程序支付宝小程序百度小程序头条小程序
xxxx
属性类型默认值必填说明平台说明
intervalstringnormal监听陀螺仪数据回调函数的执行频率:game(20ms/次)、ui(60ms/次)、normal(200ms/次)微信小程序
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

uni.stopGyroscope(OBJECT)

停止监听陀螺仪数据。

平台差异说明

5+AppH5微信小程序支付宝小程序百度小程序头条小程序
xxxx
属性类型必填说明
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

代码示例

  1. <template>
  2. <view>
  3. <button @click="start">开始监听陀螺仪变化</button>
  4. <button @click="stop">停止监听陀螺仪变化</button>
  5. </view>
  6. </template>
  1. export default {
  2. methods: {
  3. start() {
  4. uni.onGyroscopeChange((res) => {
  5. console.log('gyroData.rotationRate.x = ' + res.x)
  6. console.log('gyroData.rotationRate.y = ' + res.y)
  7. console.log('gyroData.rotationRate.z = ' + res.z)
  8. });
  9. uni.startGyroscope({
  10. interval: "normal",
  11. success() {
  12. console.log('success')
  13. },
  14. fail() {
  15. console.log('fail')
  16. }
  17. })
  18. },
  19. stop(){
  20. uni.stopGyroscope({
  21. success() {
  22. console.log('stop success!')
  23. },
  24. fail() {
  25. console.log('stop fail!')
  26. }
  27. })
  28. }
  29. }
  30. }

Tips

  • 陀螺仪 相关 API 在小程序开发工具中调用可能报错,请在真机中测试

发现错误?想参与编辑?在 GitHub 上编辑此页面!