decodeAudioSource method

AudioSourcePlayer decodeAudioSource(
  1. AudioSourceMessage audioSourceMessage
)

Converts an audio source message to a player.

Implementation

AudioSourcePlayer decodeAudioSource(AudioSourceMessage audioSourceMessage) {
  if (audioSourceMessage is ProgressiveAudioSourceMessage) {
    return ProgressiveAudioSourcePlayer(this, audioSourceMessage.id,
        Uri.parse(audioSourceMessage.uri), audioSourceMessage.headers);
  } else if (audioSourceMessage is DashAudioSourceMessage) {
    return DashAudioSourcePlayer(this, audioSourceMessage.id,
        Uri.parse(audioSourceMessage.uri), audioSourceMessage.headers);
  } else if (audioSourceMessage is HlsAudioSourceMessage) {
    return HlsAudioSourcePlayer(this, audioSourceMessage.id,
        Uri.parse(audioSourceMessage.uri), audioSourceMessage.headers);
  } else if (audioSourceMessage is ConcatenatingAudioSourceMessage) {
    return ConcatenatingAudioSourcePlayer(
        this,
        audioSourceMessage.id,
        getAudioSources(audioSourceMessage.children),
        audioSourceMessage.useLazyPreparation,
        audioSourceMessage.shuffleOrder);
  } else if (audioSourceMessage is ClippingAudioSourceMessage) {
    return ClippingAudioSourcePlayer(
        this,
        audioSourceMessage.id,
        getAudioSource(audioSourceMessage.child) as UriAudioSourcePlayer,
        audioSourceMessage.start,
        audioSourceMessage.end);
  } else if (audioSourceMessage is LoopingAudioSourceMessage) {
    return LoopingAudioSourcePlayer(this, audioSourceMessage.id,
        getAudioSource(audioSourceMessage.child), audioSourceMessage.count);
  } else {
    throw Exception("Unknown AudioSource type: $audioSourceMessage");
  }
}