修改跳过片头片尾位置

This commit is contained in:
rang 2025-10-24 17:02:51 +08:00
parent ab3d5f7e02
commit a9148f7a14
2 changed files with 11 additions and 8 deletions

View file

@ -162,16 +162,19 @@ class AudiobookPlayer extends AudioPlayer {
}
AudioTrack track = _book!.tracks[index];
final appSettings = loadOrCreateAppSettings();
if (initialPosition == null || initialPosition <= Duration()) {
initialPosition = readFromBoxOrCreate(_book!.libraryItemId).playerSettings.skipChapterStart;
}
final playerSettings = readFromBoxOrCreate(_book!.libraryItemId).playerSettings;
final retrievedUri = _getUri(track, downloadedUris, baseUrl: baseUrl, token: token);
await setAudioSource(
initialPosition: initialPosition,
AudioSource.uri(
retrievedUri,
initialPosition: initialPosition == null || initialPosition <= Duration()
? playerSettings.skipChapterStart
: initialPosition,
ClippingAudioSource(
end: track.duration - playerSettings.skipChapterEnd,
child: AudioSource.uri(
retrievedUri,
),
tag: MediaItem(
// Specify a unique ID for each media item:
id: '${book?.libraryItemId}${track.index}',

View file

@ -6,13 +6,13 @@ class SkipStartEnd {
final Duration start;
final Duration end;
final AudiobookPlayer player;
int _index;
// int _index;
final List<StreamSubscription> _subscriptions = [];
final throttler = Throttler(delay: Duration(seconds: 3));
// final StreamController<PlaybackEvent> _playbackController =
// StreamController<PlaybackEvent>.broadcast();
SkipStartEnd({required this.start, required this.end, required this.player}) : _index = 0 {
SkipStartEnd({required this.start, required this.end, required this.player}) {
// if (start > Duration()) {
// _subscriptions.add(
// player.currentIndexStream.listen((index) {