concatenatingInsertAll method

  1. @override
Future<ConcatenatingInsertAllResponse> concatenatingInsertAll(
  1. ConcatenatingInsertAllRequest request
)
override

Inserts audio sources into the given concatenating audio source.

Implementation

@override
Future<ConcatenatingInsertAllResponse> concatenatingInsertAll(
    ConcatenatingInsertAllRequest request) async {
  for (final source in request.children) {
    await _player.add(_convertAudioSourceIntoMediaKit(source));

    final length = _player.state.playlist.medias.length;

    if (length == 0 || length == 1) continue;

    if (request.index < (length - 1) && request.index >= 0) {
      await _player.move(length - 1, request.index);
    }
  }

  return ConcatenatingInsertAllResponse();
}