fix(audio): ne coupe plus la musique externe sur les chronos de step (ticket #92)
Le son joué aux 3 dernières secondes d'un chrono de step n'interrompt plus la musique de l'utilisateur en cours de lecture. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -13,6 +13,9 @@ final class AudioplayersExerciseStepAudioCuePlayer
|
||||
AudioplayersExerciseStepAudioCuePlayer();
|
||||
|
||||
final AudioPlayer _player = AudioPlayer();
|
||||
late final Future<void> _audioContextReady = _player.setAudioContext(
|
||||
_stepCueAudioContext,
|
||||
);
|
||||
|
||||
@override
|
||||
Future<void> playShortCountdownBeep() {
|
||||
@ -25,6 +28,7 @@ final class AudioplayersExerciseStepAudioCuePlayer
|
||||
}
|
||||
|
||||
Future<void> _play(String assetPath) async {
|
||||
await _audioContextReady;
|
||||
await _player.stop();
|
||||
await _player.play(AssetSource(assetPath));
|
||||
}
|
||||
@ -35,6 +39,18 @@ final class AudioplayersExerciseStepAudioCuePlayer
|
||||
}
|
||||
}
|
||||
|
||||
final _stepCueAudioContext = AudioContext(
|
||||
android: const AudioContextAndroid(
|
||||
contentType: AndroidContentType.sonification,
|
||||
usageType: AndroidUsageType.assistanceSonification,
|
||||
audioFocus: AndroidAudioFocus.none,
|
||||
),
|
||||
iOS: AudioContextIOS(
|
||||
category: AVAudioSessionCategory.playback,
|
||||
options: const {AVAudioSessionOptions.mixWithOthers},
|
||||
),
|
||||
);
|
||||
|
||||
final class NoOpExerciseStepAudioCuePlayer
|
||||
implements ExerciseStepAudioCuePlayer {
|
||||
const NoOpExerciseStepAudioCuePlayer();
|
||||
|
||||
Reference in New Issue
Block a user