loadBuffer method
- String key
override
    Retrieve a binary resource from the asset bundle as an immutable buffer.
Throws an exception if the asset is not found.
Implementation
@override
Future<ui.ImmutableBuffer> loadBuffer(String key) async {
  if (kIsWeb) {
    final ByteData bytes = await load(key);
    return ui.ImmutableBuffer.fromUint8List(Uint8List.sublistView(bytes));
  }
  bool debugUsePlatformChannel = false;
  assert(() {
    // dart:io is safe to use here since we early return for web
    // above. If that code is changed, this needs to be guarded on
    // web presence. Override how assets are loaded in tests so that
    // the old loader behavior that allows tests to load assets from
    // the current package using the package prefix.
    if (Platform.environment.containsKey('UNIT_TEST_ASSETS')) {
      debugUsePlatformChannel = true;
    }
    return true;
  }());
  if (debugUsePlatformChannel) {
    final ByteData bytes = await load(key);
    return ui.ImmutableBuffer.fromUint8List(Uint8List.sublistView(bytes));
  }
  try {
    return await ui.ImmutableBuffer.fromAsset(key);
  } on Exception catch (e) {
    throw FlutterError.fromParts(<DiagnosticsNode>[
      _errorSummaryWithKey(key),
      ErrorDescription(e.toString()),
    ]);
  }
}