mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 06:19:35 +00:00
播放逻辑修改
This commit is contained in:
parent
420438c0df
commit
50a27fdf67
33 changed files with 788 additions and 761 deletions
|
|
@ -15,8 +15,6 @@ import 'package:vaani/features/downloads/providers/download_manager.dart'
|
|||
itemDownloadProgressProvider;
|
||||
import 'package:vaani/features/item_viewer/view/library_item_page.dart';
|
||||
import 'package:vaani/features/player/providers/abs_provider.dart';
|
||||
import 'package:vaani/features/player/providers/audiobook_player.dart';
|
||||
import 'package:vaani/features/player/providers/player_status_provider.dart';
|
||||
import 'package:vaani/features/settings/api_settings_provider.dart';
|
||||
import 'package:vaani/generated/l10n.dart';
|
||||
import 'package:vaani/globals.dart';
|
||||
|
|
@ -435,12 +433,12 @@ class _LibraryItemPlayButton extends HookConsumerWidget {
|
|||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final currentBook = ref.watch(currentBookProvider);
|
||||
final book = item.media.asBookExpanded;
|
||||
final playerStatusNotifier = ref.watch(playerStatusProvider);
|
||||
final isLoading = playerStatusNotifier.isLoading(book.libraryItemId);
|
||||
final playerStateNotifier = ref.watch(playerStateProvider.notifier);
|
||||
final isLoading = playerStateNotifier.isLoading(book.libraryItemId);
|
||||
final isCurrentBookSetInPlayer =
|
||||
currentBook?.libraryItemId == book.libraryItemId;
|
||||
final isPlayingThisBook =
|
||||
playerStatusNotifier.isPlaying() && isCurrentBookSetInPlayer;
|
||||
playerStateNotifier.isPlaying() && isCurrentBookSetInPlayer;
|
||||
|
||||
final userMediaProgress = item.userMediaProgress;
|
||||
final isBookCompleted = userMediaProgress?.isFinished ?? false;
|
||||
|
|
@ -469,7 +467,7 @@ class _LibraryItemPlayButton extends HookConsumerWidget {
|
|||
return ElevatedButton.icon(
|
||||
onPressed: () {
|
||||
currentBook?.libraryItemId == book.libraryItemId
|
||||
? ref.read(playerProvider).togglePlayPause()
|
||||
? ref.read(absAudioPlayerProvider).playOrPause()
|
||||
: ref.read(absAudioPlayerProvider.notifier).load(
|
||||
book,
|
||||
initialPosition: userMediaProgress?.currentTime,
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import 'package:vaani/api/image_provider.dart';
|
|||
import 'package:vaani/api/library_item_provider.dart';
|
||||
import 'package:vaani/constants/hero_tag_conventions.dart';
|
||||
import 'package:vaani/features/item_viewer/view/library_item_page.dart';
|
||||
import 'package:vaani/features/player/providers/audiobook_player.dart';
|
||||
import 'package:vaani/router/models/library_item_extras.dart';
|
||||
import 'package:vaani/features/player/providers/abs_provider.dart';
|
||||
import 'package:vaani/features/settings/app_settings_provider.dart';
|
||||
import 'package:vaani/router/models/library_item_extras.dart';
|
||||
import 'package:vaani/shared/extensions/duration_format.dart';
|
||||
import 'package:vaani/shared/extensions/model_conversions.dart';
|
||||
import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
|
||||
|
|
@ -139,7 +139,7 @@ class _LibraryItemProgressIndicator extends HookConsumerWidget {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final player = ref.watch(playerProvider);
|
||||
final player = ref.watch(absAudioPlayerProvider);
|
||||
final libraryItem = ref.watch(libraryItemProvider(id)).valueOrNull;
|
||||
if (libraryItem == null) {
|
||||
return const SizedBox.shrink();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue