create static method

Future<AudioPool> create({
  1. required Source source,
  2. required int maxPlayers,
  3. AudioCache? audioCache,
  4. AudioContext? audioContext,
  5. int minPlayers = 1,
  6. PlayerMode playerMode = PlayerMode.mediaPlayer,
})

Creates an AudioPool instance with the given parameters. You will have to manage disposing the players if you choose PlayerMode.lowLatency.

Implementation

static Future<AudioPool> create({
  required Source source,
  required int maxPlayers,
  AudioCache? audioCache,
  AudioContext? audioContext,
  int minPlayers = 1,
  PlayerMode playerMode = PlayerMode.mediaPlayer,
}) async {
  final instance = AudioPool._(
    source: source,
    audioCache: audioCache,
    maxPlayers: maxPlayers,
    minPlayers: minPlayers,
    playerMode: playerMode,
    audioContext: audioContext,
  );

  final players = <AudioPlayer>[];

  for (var i = 0; i < minPlayers; i++) {
    players.add(await instance._createNewAudioPlayer());
  }

  return instance..availablePlayers.addAll(players);
}