mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2026-02-16 22:39:34 +00:00
修改跳过片头片尾位置
This commit is contained in:
parent
ab3d5f7e02
commit
a9148f7a14
2 changed files with 11 additions and 8 deletions
|
|
@ -162,16 +162,19 @@ class AudiobookPlayer extends AudioPlayer {
|
||||||
}
|
}
|
||||||
AudioTrack track = _book!.tracks[index];
|
AudioTrack track = _book!.tracks[index];
|
||||||
final appSettings = loadOrCreateAppSettings();
|
final appSettings = loadOrCreateAppSettings();
|
||||||
if (initialPosition == null || initialPosition <= Duration()) {
|
final playerSettings = readFromBoxOrCreate(_book!.libraryItemId).playerSettings;
|
||||||
initialPosition = readFromBoxOrCreate(_book!.libraryItemId).playerSettings.skipChapterStart;
|
|
||||||
}
|
|
||||||
|
|
||||||
final retrievedUri = _getUri(track, downloadedUris, baseUrl: baseUrl, token: token);
|
final retrievedUri = _getUri(track, downloadedUris, baseUrl: baseUrl, token: token);
|
||||||
|
|
||||||
await setAudioSource(
|
await setAudioSource(
|
||||||
initialPosition: initialPosition,
|
initialPosition: initialPosition == null || initialPosition <= Duration()
|
||||||
AudioSource.uri(
|
? playerSettings.skipChapterStart
|
||||||
retrievedUri,
|
: initialPosition,
|
||||||
|
ClippingAudioSource(
|
||||||
|
end: track.duration - playerSettings.skipChapterEnd,
|
||||||
|
child: AudioSource.uri(
|
||||||
|
retrievedUri,
|
||||||
|
),
|
||||||
tag: MediaItem(
|
tag: MediaItem(
|
||||||
// Specify a unique ID for each media item:
|
// Specify a unique ID for each media item:
|
||||||
id: '${book?.libraryItemId}${track.index}',
|
id: '${book?.libraryItemId}${track.index}',
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,13 @@ class SkipStartEnd {
|
||||||
final Duration start;
|
final Duration start;
|
||||||
final Duration end;
|
final Duration end;
|
||||||
final AudiobookPlayer player;
|
final AudiobookPlayer player;
|
||||||
int _index;
|
// int _index;
|
||||||
final List<StreamSubscription> _subscriptions = [];
|
final List<StreamSubscription> _subscriptions = [];
|
||||||
final throttler = Throttler(delay: Duration(seconds: 3));
|
final throttler = Throttler(delay: Duration(seconds: 3));
|
||||||
// final StreamController<PlaybackEvent> _playbackController =
|
// final StreamController<PlaybackEvent> _playbackController =
|
||||||
// StreamController<PlaybackEvent>.broadcast();
|
// 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()) {
|
// if (start > Duration()) {
|
||||||
// _subscriptions.add(
|
// _subscriptions.add(
|
||||||
// player.currentIndexStream.listen((index) {
|
// player.currentIndexStream.listen((index) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue