userAccelerometer method
Stream<UserAccelerometerEvent>
userAccelerometer({
- Duration samplingPeriod = SensorInterval.normalInterval,
Implementation
Stream<UserAccelerometerEvent> userAccelerometer({
Duration samplingPeriod = SensorInterval.normalInterval,
}){
if (_userAccelerometerStreamController == null) {
_userAccelerometerStreamController =
StreamController<UserAccelerometerEvent>();
_featureDetected(
() {
final linearAccelerationSensor = LinearAccelerationSensor(
SensorOptions(
frequency: samplingPeriod.frequency,
),
);
linearAccelerationSensor.start();
linearAccelerationSensor.onreading = (Event _) {
_gyroscopeEventStreamController!.add(
GyroscopeEvent(
linearAccelerationSensor.x,
linearAccelerationSensor.y,
linearAccelerationSensor.z,
),
);
}.toJS;
linearAccelerationSensor.onerror = (SensorErrorEvent e) {
developer.log(
'The linear acceleration API is supported but something is wrong!',
error: e.error.message,
);
}.toJS;
},
apiName: 'LinearAccelerationSensor()',
permissionName: 'accelerometer',
onError: () {
_userAccelerometerStreamController!
.add(UserAccelerometerEvent(0, 0, 0));
},
);
_userAccelerometerResultStream =
_userAccelerometerStreamController!.stream.asBroadcastStream();
_userAccelerometerStreamController!.onCancel = () {
_userAccelerometerStreamController!.close();
};
}
return _userAccelerometerResultStream;
}