import 'package:flutter/material.dart'; import 'package:vital_sign_camera/vital_sign_camera.dart'; class VitalSigns extends StatefulWidget { const VitalSigns({super.key}); @override State createState() => _VitalSignState(); } class _VitalSignState extends State { late final VitalSignCameraController _vitalSignCameraController; late Future cameraDevice; @override void initState() { super.initState(); cameraDevice = getFrontCamera(); } double? _heartRate; Future getFrontCamera() async { if (CameraPermissionStatus.authorized != await requestCameraPermission()) { return null; } return queryCameraDevice(CameraPosition.front); } @override Widget build(BuildContext context) { return Scaffold( body: Stack(children: [ VitalSignCamera( onCreated: _onVitalSignCameraCreated, isActive: true, userInfo: UserInfo( age: 30, gender: Gender.male, userId: '__YOUR_USER_ID__'), config: VitalSignCameraConfig(apiKey: '__YOUR_API_KEY__'), device: cameraDevice, onVideoFrameProcessed: _onVideoFrameProcessed), Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( onPressed: () { setState(() { _vitalSignCameraController.startScanning(); }); }, child: const Text('start')), Text('Heart rate: $_heartRate'), ], ), ), ]), ); } void _onVideoFrameProcessed(VideoFrameProcessedEvent event) { // setState(() { // _heartRate = event.healthResult?.health?.vitalSigns.heartRate; // }); } void _onVitalSignCameraCreated(VitalSignCameraController controller) { _vitalSignCameraController = controller; } }