enumAudioMixer static method

Future<List<ProcessVolume>?> enumAudioMixer({
  1. AudioRole audioRole = AudioRole.multimedia,
})

Lists all active application audio sessions (mixers).

Returns a list of ProcessVolume containing volume info for each app.

Implementation

static Future<List<ProcessVolume>?> enumAudioMixer({AudioRole audioRole = AudioRole.multimedia}) async {
  final Map<String, dynamic> arguments = <String, dynamic>{"role": audioRole.index};
  final Map<dynamic, dynamic>? map = await audioMethodChannel.invokeMethod("enumAudioMixer", arguments);

  if (map == null) return null;

  final List<ProcessVolume> processVolumes = <ProcessVolume>[];
  for (dynamic key in map.keys) {
    final ProcessVolume processVolume = ProcessVolume();
    final Map<dynamic, dynamic> data = map[key];
    processVolume.processId = key as int;
    processVolume.processPath = data["processPath"] ?? "";
    processVolume.maxVolume = (data["maxVolume"] as num?)?.toDouble() ?? 0.0;
    processVolume.peakVolume = (data["peakVolume"] as num?)?.toDouble() ?? 0.0;
    processVolumes.add(processVolume);
  }
  return processVolumes;
}