loadDataUrl static method

Future<Sound> loadDataUrl(
  1. String dataUrl, [
  2. SoundLoadOptions? soundLoadOptions
])
override

Loads a sound from a data url.

Please be aware that browsers do support different kinds of audio types. You can get a list of supported types here: Sound.supportedTypes

var sound = await Sound.loadDataUrl("data:audio/mpeg;base64,<data>");
sound.play();

Implementation

static Future<Sound> loadDataUrl(String dataUrl,
    [SoundLoadOptions? soundLoadOptions]) async {
  try {
    final audioUrls = <String>[dataUrl];
    final audioLoader = AudioLoader(audioUrls, false, false);
    final audioElement = await audioLoader.done;
    return AudioElementSound._(audioElement);
  } catch (e) {
    final options = soundLoadOptions ?? Sound.defaultLoadOptions;
    if (options.ignoreErrors) {
      return MockSound.loadDataUrl(dataUrl, options);
    } else {
      rethrow;
    }
  }
}