You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Sensors_plus包:Web应用传感器数据采样率调整问题

使用sensors_plus包开发Flutter Web应用时如何调整传感器采样率?

问题背景

已知Flutter社区已实现Android设备的传感器采样率调整,但使用sensors_plus包开发Web应用时,找不到设置Web版本传感器数据采样率/刷新率的入口,想咨询:Web端是否支持调整采样率?如果可以,该怎么操作?


解答

目前sensors_plus的Web端实现基于浏览器原生的Sensor API,但当前版本的包并没有对外暴露采样率配置的参数,默认使用浏览器Sensor API的默认采样率。不过可以通过以下两种方式实现采样率调整:

  • 修改sensors_plus的Web端源码
    找到包内Web端的核心实现文件(通常是sensors_plus_web.dart),在初始化各类传感器(比如加速度传感器、陀螺仪)的代码中,添加frequency参数指定采样率。举个例子:

    // 修改加速度传感器初始化代码
    final accelerometer = Accelerometer(
      options: SensorOptions(frequency: 60), // 设置为60Hz采样率
    );
    

    修改后重新编译包并引入项目即可生效。

  • 直接调用浏览器原生Sensor API
    绕开sensors_plus,通过dart:js或js包直接调用浏览器的原生Sensor接口,完全自主控制采样率。示例代码(以加速度传感器为例):

    import 'dart:js' as js;
    
    void initCustomAccelerometer() {
      final accelerometer = js.JsObject(js.context['Accelerometer'], [
        js.JsObject.jsify({'frequency': 30}) // 设置30Hz采样率
      ]);
      
      accelerometer.callMethod('addEventListener', ['reading', () {
        // 读取传感器数据
        double x = accelerometer['x'];
        double y = accelerometer['y'];
        double z = accelerometer['z'];
        // 处理数据逻辑
      }]);
      
      accelerometer.callMethod('start');
    }
    

如果希望官方支持该功能,可以向sensors_plus的维护仓库提交Feature Request,推动官方添加Web端采样率配置的接口。


内容的提问来源于stack exchange,提问作者Bjørn Winther

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 18:50:26