Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android上设置加速度计和陀螺仪的50 Hz采样率?_Java_Android_Accelerometer_Sampling_Gyroscope - Fatal编程技术网

Java 如何在android上设置加速度计和陀螺仪的50 Hz采样率?

Java 如何在android上设置加速度计和陀螺仪的50 Hz采样率?,java,android,accelerometer,sampling,gyroscope,Java,Android,Accelerometer,Sampling,Gyroscope,我想存储安卓手机的加速度计和陀螺仪收集的数据。具体来说,我想在50赫兹的频率下对它们进行采样,不多不少 我如何在Android Java上指定这一点 我看到过他们使用的其他帖子: mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST); 这是传感器可以采集的最大样本量。虽然有时传感器的容量可以达到50hz以上,但我怎么能只取50hz?根据,您可以指定“事件之间的期望延迟

我想存储安卓手机的加速度计和陀螺仪收集的数据。具体来说,我想在50赫兹的频率下对它们进行采样,不多不少

我如何在Android Java上指定这一点

我看到过他们使用的其他帖子:

 mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);
这是传感器可以采集的最大样本量。虽然有时传感器的容量可以达到50hz以上,但我怎么能只取50hz?

根据,您可以指定“事件之间的期望延迟(以微秒为单位)”,因此它应该是:

 mSensorManager.registerListener(this, mAccelerometer, 20000); // 20000 = 50Hz in microseconds
编辑:根据文档:

速率传感器事件在以下位置传递。这只是对系统的一个提示。接收事件的速度可能快于或慢于指定的速率。通常事件接收速度更快。该值必须是SENSOR_DELAY_NORMAL、SENSOR_DELAY_UI、SENSOR_DELAY_GAME或SENSOR_DELAY_faster中的一个,或者是事件之间所需的以微秒为单位的延迟


至少在这个API中,似乎没有办法做到精确。

但是这个延迟会与每个传感器设备的采样能力成比例吗?我的意思是,我将在一个通用设备上运行应用程序,它的采样能力可能是50 Hz,也就是说,如果将延迟设置为20000,采样率为25Hz?@RabbitBadger这是事件之间所需的延迟,因此它应该是一个绝对值,但正如文档所述,它“只是一个提示”。