diff --git a/lib/providers/video_player_provider.dart b/lib/providers/video_player_provider.dart index 548f44881..5c7037f61 100644 --- a/lib/providers/video_player_provider.dart +++ b/lib/providers/video_player_provider.dart @@ -114,6 +114,7 @@ class VideoPlayerNotifier extends StateNotifier { Future loadPlaybackItem(PlaybackModel model, Duration startPosition) async { await state.stop(); + ref.read(playbackRateProvider.notifier).state = 1.0; mediaState.update((state) => state.copyWith( state: VideoPlayerState.fullScreen, buffering: true, diff --git a/lib/util/input_handler.dart b/lib/util/input_handler.dart index 742a92639..af4826f44 100644 --- a/lib/util/input_handler.dart +++ b/lib/util/input_handler.dart @@ -71,8 +71,6 @@ class _InputHandlerState extends ConsumerState> { super.initState(); if (widget.listenRawKeyboard) { _registerHardwareKeyboard(); - } else if (widget.autoFocus) { - focusNode.requestFocus(); } } @@ -98,7 +96,15 @@ class _InputHandlerState extends ConsumerState> { focusNode.requestFocus(); } }, - onKeyEvent: widget.onKeyEvent ?? (node, event) => _onKey(event), + onKeyEvent: (node, event) { + if (widget.onKeyEvent != null) { + final result = widget.onKeyEvent!(node, event); + if (result != KeyEventResult.ignored) { + return result; + } + } + return _onKey(event); + }, child: widget.child, ); }