ποΈ Hand Gesture Volume Controller
Control your Android phoneβs volume using your hand gestures β no buttons needed!
This Flutter package works with a small Python server that reads your hand movements from a webcam and updates the volume on your phone in real-time.
π½οΈ Demo
https://github.com/user-attachments/assets/01872de8-d837-407c-9d0c-98fd9a2de768 (Add your video recording here after uploading to YouTube or GitHub)
π§ What You Need
- A Windows PC or laptop with a webcam
- Your Android phone connected to the same Wi-Fi
- Python 3.8 or later
- Flutter 3.x
π How It Works
- Python code runs on your computer and uses your webcam to detect hand gestures.
- It sends the volume level over your Wi-Fi.
- Your Flutter app receives that volume level and applies it on your phone.
π¦ How to Use
Step 1: Clone This Package
git clone https://github.com/ZyadWKhedr/hand_gesture_volume_controller
cd hand_gesture_volume_controller
Step 2: Run the Python Server
Open a terminal inside the server/ folder.
Install the required Python packages:
pip install flask opencv-python mediapipe numpy Run the server:
python hand_control_server.py
- If everything works, it will say:
Running on http://192.168.xx.xx:5000 π Copy that IP address β youβll use it in the Flutter app!
Step 3: Open the Flutter Example App
Open the example/ folder in VS Code.
In main.dart, set your local server IP like this:
final controller = GestureVolumeController( serverUrl: 'http://192.168.xx.xx:5000/volume-data', ); Run the app:
flutter run Youβll see a volume level on your phone screen that changes when you move your fingers π
β Supported Gestures
-
π Distance between your thumb and index controls the volume
-
π€ If they touch, the system mutes
-
π’ Volume bar is displayed in real time
π€ Contribute or Fork
Want to help? You can:
Add more gestures (pause, swipe, next/prev)
Improve UI
Help port to iOS (if possible)
π License
MIT Β© 2025 Zyad Made using Flutter, Python, and MediaPipe