load method

Future<void> load({
  1. required YoutubePlayerParams params,
  2. String? baseUrl,
})

Loads the player with the given params.

baseUrl sets the origin for the iframe player.

Implementation

Future<void> load({
  required YoutubePlayerParams params,
  String? baseUrl,
}) async {
  final playerHtml = await rootBundle.loadString(
    'packages/youtube_player_iframe/assets/player.html',
  );

  final platform = kIsWeb ? 'web' : defaultTargetPlatform.name.toLowerCase();

  await webViewController.loadHtmlString(
    playerHtml
        .replaceFirst('<<pointerEvents>>', params.pointerEvents.name)
        .replaceFirst('<<playerVars>>', params.toJson())
        .replaceFirst('<<platform>>', platform)
        .replaceFirst('<<host>>', params.origin ?? 'https://www.youtube.com'),
    baseUrl: baseUrl,
  );
}