- Native Bruecke AudioEffectsBridge.kt: Equalizer + BassBoost + Virtualizer auf der Audio-Session des Players, inkl. System-Klangeffekt-Panel - Dart-Seite AudioEffects: Presets, Baender, Bass/Immersiv, persistiert - EqualizerScreen nach Vorlage inkl. Drehregler (CustomPainter) - Auto-Wiedergabe bei verbundenen Kopfhoerern (Klinke + Bluetooth) - MODIFY_AUDIO_SETTINGS im Manifest - Einstellungen: neuer Bereich "Ton" Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011snPXPafPC5i87o68H14W7
23 lines
764 B
Dart
23 lines
764 B
Dart
import 'package:audio_session/audio_session.dart';
|
|
|
|
/// Gerätetypen, die als "Kopfhörer" gelten — Klinke wie Bluetooth.
|
|
const _headphoneTypes = {
|
|
AudioDeviceType.wiredHeadset,
|
|
AudioDeviceType.wiredHeadphones,
|
|
AudioDeviceType.bluetoothA2dp,
|
|
AudioDeviceType.bluetoothSco,
|
|
};
|
|
|
|
/// Entscheidet, ob nach dem Verbinden von [added] automatisch abgespielt wird.
|
|
/// Nur wenn die Einstellung aktiv ist, etwas in der Warteschlange steht und
|
|
/// gerade nichts läuft — eine laufende Wiedergabe wird nie unterbrochen.
|
|
bool shouldAutoPlay({
|
|
required Set<AudioDeviceType> added,
|
|
required bool enabled,
|
|
required bool hasQueue,
|
|
required bool playing,
|
|
}) {
|
|
if (!enabled || !hasQueue || playing) return false;
|
|
return added.any(_headphoneTypes.contains);
|
|
}
|