register method

dynamic register(
  1. TivioPlayerWrapperController controller
)

Implementation

register(TivioPlayerWrapperController controller) async {
  await _bridge.playerRegister(this.id);

  _bridge.onPlayerPlay(
    id,
    controller.play,
  );

  _bridge.onPlayerPause(
    id,
    controller.pause,
  );

  _bridge.onPlayerSeekTo(
    id,
    (payload) {
      print(payload);
      return controller.seekTo(
        Duration(
          milliseconds: payload['timestampMs'],
        ),
      );
    },
  );

  _bridge.onPlayerChangeSource(
    id,
    (payload) {
      _logger.verbose(payload);
      String? sourceType = payload['source']['type'];
      switch (sourceType) {
        case 'vod_tivio':
          {
            controller.openAndPlay(
              TivioPlayerVodSource.fromJson(payload['source']),
              currentTime: payload['source']['currentTime'],
            );
          }
          break;
        case 'advertisement':
          {
            controller.openAndPlay(TivioPlayerAdSource.fromJson(payload['source']));
          }
          break;
        default:
          {
            throw Exception('Unknown source type $sourceType');
          }
      }
    },
  );
}