import
'package:flutter/material.dart'
;
import
'package:flutter_volume_controller/flutter_volume_controller.dart'
;
class
VolumeControllerScreen extends StatefulWidget {
const
VolumeControllerScreen({super.key});
@override
_VolumeControllerScreenState createState() => _VolumeControllerScreenState();
}
class
_VolumeControllerScreenState extends State<VolumeControllerScreen> {
double
setVolumeValue = 0;
@override
void
initState() {
super.initState();
FlutterVolumeController.getVolume()
.then((volume) => setVolumeValue = volume ?? 0.0);
FlutterVolumeController.addListener((volume) {
setState(() =>
setVolumeValue = volume);
});
}
@override
void
dispose() {
FlutterVolumeController.removeListener();
super.dispose();
}
@override
Widget build(BuildContext context) {
return
Scaffold(
appBar: AppBar(
title:
const
Text(
'Volume Controller GeeksForGeeks'
),
),
body: Column(
children: [
Text(
'Current volume: ${ setVolumeValue.toStringAsFixed(2)}'
),
Row(
children: [
const
Text(
'Set Volume:'
),
Flexible(
child: Slider(
min: 0,
max: 1,
onChanged: (
double
value) {
setVolumeValue = value;
FlutterVolumeController.setVolume( setVolumeValue);
setState(() {});
},
value: setVolumeValue,
),
),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () => FlutterVolumeController.getMute(),
child:
const
Text(
'Mute Volume'
),
),
const
SizedBox(
width: 10,
),
ElevatedButton(
onPressed: () => FlutterVolumeController.raiseVolume(1),
child:
const
Text(
'Max Volume'
),
),
],
),
SwitchListTile.adaptive(
title:
const
Text(
'Show system UI'
),
value: FlutterVolumeController.showSystemUI,
onChanged: (val) async {
await FlutterVolumeController.updateShowSystemUI(val);
setState(() {});
})
],
),
);
}
}