getPlayerSource method

Future<PlayerSource> getPlayerSource()

Implementation

Future<PlayerSource> getPlayerSource() async {
  final iframe =
      await httpClient.getString('https://www.youtube.com/iframe_api');
  final version = _versionExp.firstMatch(iframe)?.group(1);
  if (version.isNullOrWhiteSpace) {
    throw YoutubeExplodeException('Could not extract player version.');
  }

  return PlayerSource.parse(
    await httpClient.getString(
      'https://www.youtube.com/s/player/$version/player_ias.vflset/en_US/base.js',
    ),
  );
}