This commit is contained in:
rang 2025-11-30 00:56:16 +08:00
parent 4cc556db03
commit 561a583cd7
2 changed files with 19 additions and 13 deletions

View file

@ -11,6 +11,7 @@ import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:vaani/features/player/core/player_status.dart' as core; import 'package:vaani/features/player/core/player_status.dart' as core;
import 'package:vaani/features/player/providers/player_status_provider.dart'; import 'package:vaani/features/player/providers/player_status_provider.dart';
import 'package:vaani/shared/extensions/chapter.dart'; import 'package:vaani/shared/extensions/chapter.dart';
import 'package:vaani/shared/extensions/model_conversions.dart';
// add a small offset so the display does not show the previous chapter for a split second // add a small offset so the display does not show the previous chapter for a split second
final offset = Duration(milliseconds: 10); final offset = Duration(milliseconds: 10);
@ -66,21 +67,24 @@ class AbsAudioHandler extends BaseAudioHandler with QueueHandler, SeekHandler {
); );
} }
playMediaItem( final track = playbackSession.findTrackAtTime(playbackSession.currentTime);
MediaItem(
id: playbackSession.libraryItemId, final item = MediaItem(
album: playbackSession.mediaMetadata.title, id: playbackSession.libraryItemId,
title: playbackSession.displayTitle, album: playbackSession.mediaMetadata.title,
displaySubtitle: playbackSession.mediaType == MediaType.book artist: playbackSession.displayAuthor,
? (playbackSession.mediaMetadata as BookMetadata).subtitle title: playbackSession.displayTitle,
: null, displayTitle: playbackSession.displayTitle,
duration: playbackSession.duration, displaySubtitle: playbackSession.mediaType == MediaType.book
artUri: Uri.parse( ? playbackSession.mediaMetadata.asBookMetadata.subtitle
'$baseUrl/api/items/${playbackSession.libraryItemId}/cover?token=$token', : null,
), displayDescription: "测试描述",
duration: track.duration,
artUri: Uri.parse(
'$baseUrl/api/items/${playbackSession.libraryItemId}/cover?token=$token',
), ),
); );
final track = playbackSession.findTrackAtTime(playbackSession.currentTime); await playMediaItem(item);
final index = playbackSession.audioTracks.indexOf(track); final index = playbackSession.audioTracks.indexOf(track);
await _player.setAudioSources( await _player.setAudioSources(

View file

@ -33,6 +33,8 @@ Future<AbsAudioHandler> audioHandlerInit(Ref ref) async {
androidStopForegroundOnPause: false, androidStopForegroundOnPause: false,
androidNotificationIcon: 'drawable/ic_stat_logo', androidNotificationIcon: 'drawable/ic_stat_logo',
preloadArtwork: true, preloadArtwork: true,
// fastForwardInterval: Duration(seconds: 20),
// rewindInterval: Duration(seconds: 20),
), ),
); );
return audioService; return audioService;