mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 22:39:34 +00:00
完善新播放逻辑
This commit is contained in:
parent
eb1955e5e6
commit
114c9761fd
30 changed files with 658 additions and 683 deletions
|
|
@ -1,6 +1,6 @@
|
|||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:vaani/features/per_book_settings/providers/book_settings_provider.dart';
|
||||
import 'package:vaani/features/player/providers/audiobook_player.dart';
|
||||
import 'package:vaani/features/player/providers/session_provider.dart';
|
||||
import 'package:vaani/features/skip_start_end/skip_start_end.dart' as core;
|
||||
|
||||
part 'skip_start_end_provider.g.dart';
|
||||
|
|
@ -9,23 +9,51 @@ part 'skip_start_end_provider.g.dart';
|
|||
class SkipStartEnd extends _$SkipStartEnd {
|
||||
@override
|
||||
core.SkipStartEnd? build() {
|
||||
final player = ref.watch(simpleAudiobookPlayerProvider);
|
||||
final book = ref.watch(audiobookPlayerProvider.select((v) => v.book));
|
||||
final bookId = book?.libraryItemId ?? '_';
|
||||
if (bookId == '_') {
|
||||
final session = ref.watch(sessionProvider);
|
||||
final bookId = session?.libraryItemId;
|
||||
if (session == null || bookId == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final player = ref.read(playerProvider);
|
||||
final bookSettings = ref.watch(bookSettingsProvider(bookId));
|
||||
final start = bookSettings.playerSettings.skipChapterStart;
|
||||
final end = bookSettings.playerSettings.skipChapterEnd;
|
||||
if (start < Duration.zero && end < Duration.zero) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final skipStartEnd = core.SkipStartEnd(
|
||||
start: start,
|
||||
end: end,
|
||||
player: player,
|
||||
chapterId: player.currentChapter?.id,
|
||||
);
|
||||
ref.onDispose(skipStartEnd.dispose);
|
||||
return skipStartEnd;
|
||||
}
|
||||
}
|
||||
|
||||
// @riverpod
|
||||
// class SkipStartEnd extends _$SkipStartEnd {
|
||||
// @override
|
||||
// core.SkipStartEnd? build() {
|
||||
// final player = ref.watch(simpleAudiobookPlayerProvider);
|
||||
// final book = ref.watch(audiobookPlayerProvider.select((v) => v.book));
|
||||
// final bookId = book?.libraryItemId ?? '_';
|
||||
// if (bookId == '_') {
|
||||
// return null;
|
||||
// }
|
||||
// final bookSettings = ref.watch(bookSettingsProvider(bookId));
|
||||
// final start = bookSettings.playerSettings.skipChapterStart;
|
||||
// final end = bookSettings.playerSettings.skipChapterEnd;
|
||||
|
||||
// final skipStartEnd = core.SkipStartEnd(
|
||||
// start: start,
|
||||
// end: end,
|
||||
// player: player,
|
||||
// chapterId: player.currentChapter?.id,
|
||||
// );
|
||||
// ref.onDispose(skipStartEnd.dispose);
|
||||
// return skipStartEnd;
|
||||
// }
|
||||
// }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue