• uni.onGyroscopeChange(CALLBACK)
  • uni.startGyroscope(OBJECT)
  • uni.stopGyroscope(OBJECT)

    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 上编辑此页面!