diff --git a/lib/src/controller.dart b/lib/src/controller.dart index 0da6b35..325d53e 100644 --- a/lib/src/controller.dart +++ b/lib/src/controller.dart @@ -4,6 +4,8 @@ import 'dart:io'; import 'dart:typed_data'; +import 'package:flutter/foundation.dart'; +import 'package:fvp/mdk.dart'; import 'package:video_player/video_player.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; @@ -146,6 +148,15 @@ extension FVPControllerExtensions on VideoPlayerController { _platform.setHue(_getId(this), value); } + void onEvent(void Function(MediaEvent)? callback) { + _platform.onEvent(_getId(this), callback); + } + + void onSubtitleText( + void Function(double start, double end, List text)? callback) { + _platform.onSubtitleText(_getId(this), callback); + } + /// set saturation. -1 <= [value] <= 1 void setSaturation(double value) { _platform.setSaturation(_getId(this), value); diff --git a/lib/src/video_player_mdk.dart b/lib/src/video_player_mdk.dart index e6bf871..7eed90a 100644 --- a/lib/src/video_player_mdk.dart +++ b/lib/src/video_player_mdk.dart @@ -6,6 +6,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter/widgets.dart'; // import 'package:flutter/services.dart'; +import 'package:fvp/src/global.dart'; import 'package:video_player_platform_interface/video_player_platform_interface.dart'; import 'package:logging/logging.dart'; import 'package:http/http.dart' as http; @@ -470,6 +471,15 @@ class MdkVideoPlayerPlatform extends VideoPlayerPlatform { _players[playerId]?.setVideoEffect(mdk.VideoEffect.hue, [value]); } + void onEvent(int playerId, void Function(MediaEvent)? callback) { + _players[playerId]?.onEvent(callback); + } + + void onSubtitleText(int playerId, + void Function(double start, double end, List text)? callback) { + _players[playerId]?.onSubtitleText(callback); + } + void setSaturation(int playerId, double value) { _players[playerId]?.setVideoEffect(mdk.VideoEffect.saturation, [value]); }