Equalizer (nativ), Dolby-Atmos-Zugang und Auto-Wiedergabe bei Kopfhoerern
- 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
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user