# volume_controller-2.0.2 **Repository Path**: kayoxu/volume_controller-2.0.2 ## Basic Information - **Project Name**: volume_controller-2.0.2 - **Description**: volume_controller - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-13 - **Last Updated**: 2024-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # volume_controller A Flutter plugin for iOS and Android control system volume. \ \ **The show/hide system UI only support Android now** ## Variables - bool showSystemUI: show or hide volume system UI \ The default value is true. > VolumeController().showSystemUI = true ## Functions - getVolume: get current volume from system > VolumeController().getVolume() - setVolume: input a double number to set system volume. The range is [0, 1] > await VolumeController().setVolume(double volume, {bool? showSystemUI}) - maxVolume: set the volume to max > VolumeController().maxVolume({bool? showSystemUI}) - muteVolume: mute the volume > VolumeController().muteVolume({bool? showSystemUI}) - listener: listen system volume > VolumeController().listener((volume) { // TODO }); - removeListener: cancel listen system volume > VolumeController().removeListener() ## Usage ```dart class MyApp extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { double _volumeListenerValue = 0; double _getVolume = 0; double _setVolumeValue = 0; @override void initState() { super.initState(); // Listen to system volume change VolumeController().listener((volume) { setState(() => _volumeListenerValue = volume); }); VolumeController().getVolume().then((volume) => _setVolumeValue = volume); } @override void dispose() { VolumeController().removeListener(); super.dispose(); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text('Volume Plugin example app'), ), body: Column( children: [ Text('Current volume: $_volumeListenerValue'), Row( children: [ Text('Set Volume:'), Flexible( child: Slider( min: 0, max: 1, onChanged: (double value) { _setVolumeValue = value; VolumeController().setVolume(_setVolumeValue); setState(() {}); }, value: _setVolumeValue, ), ), ], ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('Volume is: $_getVolume'), TextButton( onPressed: () async { _getVolume = await VolumeController().getVolume(); setState(() {}); }, child: Text('Get Volume'), ), ], ), TextButton( onPressed: () => VolumeController().muteVolume(), child: Text('Mute Volume'), ), TextButton( onPressed: () => VolumeController().maxVolume(), child: Text('Max Volume'), ), Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('Show system UI:${VolumeController().showSystemUI}'), TextButton( onPressed: () => setState(() => VolumeController().showSystemUI = !VolumeController().showSystemUI), child: Text('Show/Hide UI'), ) ], ), ], ), ), ); } } ```