setShuffleOrder method
Sets the shuffle order.
Implementation
@override
Future<SetShuffleOrderResponse> setShuffleOrder(
SetShuffleOrderRequest request) async {
void internalSetShuffleOrder(AudioSourceMessage sourceMessage) {
final audioSourcePlayer = _audioSourcePlayers[sourceMessage.id];
if (audioSourcePlayer == null) return;
if (sourceMessage is ConcatenatingAudioSourceMessage &&
audioSourcePlayer is ConcatenatingAudioSourcePlayer) {
audioSourcePlayer.setShuffleOrder(sourceMessage.shuffleOrder);
for (var childMessage in sourceMessage.children) {
internalSetShuffleOrder(childMessage);
}
} else if (sourceMessage is LoopingAudioSourceMessage) {
internalSetShuffleOrder(sourceMessage.child);
}
}
internalSetShuffleOrder(request.audioSourceMessage);
return SetShuffleOrderResponse();
}