- 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
86 lines
1.9 KiB
Dart
86 lines
1.9 KiB
Dart
import 'package:audio_session/audio_session.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
import 'package:melo/player/headphone_autoplay.dart';
|
|
|
|
void main() {
|
|
group('shouldAutoPlay', () {
|
|
test('startet bei verbundenem Bluetooth-Kopfhörer', () {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {AudioDeviceType.bluetoothA2dp},
|
|
enabled: true,
|
|
hasQueue: true,
|
|
playing: false,
|
|
),
|
|
isTrue,
|
|
);
|
|
});
|
|
|
|
test('startet auch bei Klinken-Kopfhörern', () {
|
|
for (final type in [
|
|
AudioDeviceType.wiredHeadset,
|
|
AudioDeviceType.wiredHeadphones,
|
|
]) {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {type},
|
|
enabled: true,
|
|
hasQueue: true,
|
|
playing: false,
|
|
),
|
|
isTrue,
|
|
reason: '$type',
|
|
);
|
|
}
|
|
});
|
|
|
|
test('ignoriert andere Geräte wie den eingebauten Lautsprecher', () {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {AudioDeviceType.builtInSpeaker},
|
|
enabled: true,
|
|
hasQueue: true,
|
|
playing: false,
|
|
),
|
|
isFalse,
|
|
);
|
|
});
|
|
|
|
test('startet nicht, wenn die Einstellung aus ist', () {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {AudioDeviceType.bluetoothA2dp},
|
|
enabled: false,
|
|
hasQueue: true,
|
|
playing: false,
|
|
),
|
|
isFalse,
|
|
);
|
|
});
|
|
|
|
test('startet nicht ohne Warteschlange', () {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {AudioDeviceType.bluetoothA2dp},
|
|
enabled: true,
|
|
hasQueue: false,
|
|
playing: false,
|
|
),
|
|
isFalse,
|
|
);
|
|
});
|
|
|
|
test('unterbricht nicht die bereits laufende Wiedergabe', () {
|
|
expect(
|
|
shouldAutoPlay(
|
|
added: {AudioDeviceType.bluetoothA2dp},
|
|
enabled: true,
|
|
hasQueue: true,
|
|
playing: true,
|
|
),
|
|
isFalse,
|
|
);
|
|
});
|
|
});
|
|
}
|