v2.52.4 — Einstellungen (F4): Auto-Sync-Intervall, Sleep-Timer-Default, Wiedergabegeschwindigkeit, Akzentfarbe, Storage-Info
This commit is contained in:
@@ -68,6 +68,29 @@ class PlayerService extends ChangeNotifier {
|
||||
final StreamController<Song?> _songWechsel = StreamController.broadcast();
|
||||
Stream<Song?> get onSongWechsel => _songWechsel.stream;
|
||||
|
||||
// ─── Wiedergabegeschwindigkeit (F4) ───
|
||||
|
||||
double _geschwindigkeit = 1.0;
|
||||
|
||||
/// Aktuelle Wiedergabegeschwindigkeit (0.5–2.0, Default 1.0).
|
||||
double get geschwindigkeit => _geschwindigkeit;
|
||||
|
||||
/// Setzt die Wiedergabegeschwindigkeit (just_audio `setSpeed`) und merkt
|
||||
/// sie sich, damit [spiele] sie auf jede neue Quelle anwendet (just_audio
|
||||
/// setzt die Geschwindigkeit bei `setUrl`/`setFilePath` auf 1.0 zurück).
|
||||
Future<void> setGeschwindigkeit(double wert) async {
|
||||
_geschwindigkeit = wert.clamp(0.5, 2.0).toDouble();
|
||||
if (_player != null) {
|
||||
try {
|
||||
await _p.setSpeed(_geschwindigkeit);
|
||||
} catch (e) {
|
||||
debugPrint('setSpeed fehlgeschlagen: $e');
|
||||
MeloLogger().fehler('player_speed', e);
|
||||
}
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
// ─── Zufallsmodus (Shuffle) ───
|
||||
|
||||
bool get zufallsmodus => _zufallsmodus;
|
||||
@@ -138,6 +161,15 @@ class PlayerService extends ChangeNotifier {
|
||||
}
|
||||
if (position > 0) await _p.seek(Duration(seconds: position));
|
||||
await _p.play();
|
||||
// Wiedergabegeschwindigkeit aus der Einstellung anwenden (just_audio
|
||||
// setzt sie bei jeder neuen Quelle zurück auf 1.0)
|
||||
if (_geschwindigkeit != 1.0) {
|
||||
try {
|
||||
await _p.setSpeed(_geschwindigkeit);
|
||||
} catch (e) {
|
||||
debugPrint('setSpeed fehlgeschlagen: $e');
|
||||
}
|
||||
}
|
||||
_songWechsel.add(song);
|
||||
notifyListeners();
|
||||
// Abspiel-Historie für den Jahres-Recap registrieren
|
||||
|
||||
Reference in New Issue
Block a user