diff --git a/lib/main.dart b/lib/main.dart index 9c18ea4..7561a3f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,6 @@ import 'package:bot_toast/bot_toast.dart'; import 'package:desktop_webview_window/desktop_webview_window.dart'; import 'package:flex_color_scheme/flex_color_scheme.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_meedu_videoplayer/init_meedu_player.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:intl/date_symbol_data_local.dart'; @@ -17,6 +16,7 @@ import 'package:mangayomi/modules/more/settings/appearance/providers/flex_scheme import 'package:mangayomi/modules/more/settings/appearance/providers/pure_black_dark_mode_state_provider.dart'; import 'package:mangayomi/modules/more/settings/appearance/providers/theme_mode_state_provider.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:media_kit/media_kit.dart'; late Isar isar; @@ -30,18 +30,15 @@ class MyHttpoverrides extends HttpOverrides { } void main(List args) async { - initMeeduPlayer( - androidUseMediaKit: true, - iosUseMediaKit: true, - ); HttpOverrides.global = MyHttpoverrides(); - if (Platform.isLinux || Platform.isWindows|| Platform.isMacOS) { + if (Platform.isLinux || Platform.isWindows || Platform.isMacOS) { if (runWebViewTitleBarWidget(args)) { return; } } WidgetsFlutterBinding.ensureInitialized(); + MediaKit.ensureInitialized(); isar = await StorageProvider().initDB(null); await StorageProvider().requestPermission(); runApp(const ProviderScope(child: MyApp())); diff --git a/lib/modules/anime/anime_stream_view.dart b/lib/modules/anime/anime_stream_view.dart index 3fa795b..878f8e3 100644 --- a/lib/modules/anime/anime_stream_view.dart +++ b/lib/modules/anime/anime_stream_view.dart @@ -1,16 +1,20 @@ import 'dart:async'; -import 'package:flutter/cupertino.dart'; +import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_meedu_videoplayer/meedu_player.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart' as riv; import 'package:mangayomi/models/chapter.dart'; -import 'package:mangayomi/models/video.dart'; +import 'package:mangayomi/models/video.dart' as vid; import 'package:mangayomi/modules/anime/providers/stream_controller_provider.dart'; import 'package:mangayomi/modules/widgets/progress_center.dart'; import 'package:mangayomi/services/get_anime_servers.dart'; +import 'package:mangayomi/utils/colors.dart'; import 'package:mangayomi/utils/media_query.dart'; +import 'package:media_kit/media_kit.dart'; +import 'package:media_kit_video/media_kit_video.dart'; +import 'package:media_kit_video/media_kit_video_controls/src/controls/extensions/duration.dart'; +import 'package:media_kit_video/media_kit_video_controls/src/controls/methods/video_state.dart'; class AnimeStreamView extends riv.ConsumerStatefulWidget { final Chapter episode; @@ -24,27 +28,6 @@ class AnimeStreamView extends riv.ConsumerStatefulWidget { } class _AnimeStreamViewState extends riv.ConsumerState { - final _controller = MeeduPlayerController( - autoHideControls: false, - responsive: Responsive( - fontSizeRelativeToScreen: 2.0, - maxFontSize: 12, - iconsSizeRelativeToScreen: 10, - maxIconsSize: 50, - buttonsSizeRelativeToScreen: 10, - maxButtonsSize: 50, - ), - enabledButtons: const EnabledButtons(playPauseAndRepeat: false), - screenManager: const ScreenManager( - forceLandScapeInFullscreen: false, - ), - ); - @override - void dispose() { - _controller.dispose(); - super.dispose(); - } - @override Widget build(BuildContext context) { SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, @@ -115,7 +98,7 @@ class _AnimeStreamViewState extends riv.ConsumerState { ), loading: () { return Scaffold( - backgroundColor: Theme.of(context).scaffoldBackgroundColor, + backgroundColor: Colors.black, body: WillPopScope( onWillPop: () async { SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, @@ -123,24 +106,7 @@ class _AnimeStreamViewState extends riv.ConsumerState { Navigator.pop(context); return false; }, - child: Stack( - children: [ - MeeduVideoPlayer( - header: (context, controller, responsive) => AppBar( - leading: BackButton( - color: Colors.white, - onPressed: () { - SystemChrome.setEnabledSystemUIMode( - SystemUiMode.manual, - overlays: SystemUiOverlay.values); - Navigator.pop(context); - }, - ), - ), - controller: _controller), - const ProgressCenter(), - ], - ), + child: ProgressCenter(), ), ); }, @@ -149,7 +115,7 @@ class _AnimeStreamViewState extends riv.ConsumerState { } class AnimeStreamPage extends StatefulWidget { - final List