Controll Volume in Android programatically. No IOS Implementation yet . Pull Request for ios implementation are welcome.
AudioManager.STREAM_VOICE_CALL -> Controll IN CALL Volume
AudioManager.STREAM_SYSTEM -> Controll SYSTEM Volume
AudioManager.STREAM_RING -> Controll RINGER Volume
AudioManager.STREAM_MUSIC -> Controll MEDIA Volume
AudioManager.STREAM_ALARM -> Controll ALARM Volume
AudioManager.STREAM_NOTIFICATION -> Controll NOTIFICATION Volume
await Volume.controlVolume(AudioManager audioManager); // pass any stream as parameter
await Volume.getMaxVol; // returns an integer
await Volume.getVol;// returns an integer
await Volume.setVol(int i); // Max value of i is less than Volume.getMaxVol
Volume.volUp(); // press volUp key.
Volume.volDown(); // press volDown key.
class _MyAppState extends State<MyApp> {
int maxVol, currentVol;
@override
void initState() {
super.initState();
// Make this call in initState() function in the root widgte of your app
initPlatformState();
}
Future<void> initPlatformState() async {
// pass any stream as parameter as per requirement
await Volume.controlVolume(AudioManager.STREAM_SYSTEM);
}
updateVolumes() async {
// get Max Volume
maxVol = await Volume.getMaxVol;
// get Current Volume
currentVol = await Volume.getVol;
setState(() {});
}
setVol(int i) async {
await Volume.setVol(i);
}
// To implement the volume Up and volume Down button press programatically.
FlatButton(
child: Text("Vol Up"),
onPressed: (){
Volume.volUp();// Consecutively increasing the volume by 1 unit.
updateVolumes();
},
),
FlatButton(
child: Text("Vol Down"),
onPressed: (){
Volume.volDown();// Consecutively decrease the volume by 1 unit.
updateVolumes();
},
)
This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.