setupAudioSessionForMinfo static method
Implementation
static Future<bool> setupAudioSessionForMinfo() async {
_logger.info('🎵 Configuration session audio pour Minfo...');
try {
final session = await AudioSession.instance;
await session.configure(const AudioSessionConfiguration(
avAudioSessionCategory: AVAudioSessionCategory.playAndRecord,
avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.defaultToSpeaker,
avAudioSessionMode: AVAudioSessionMode.measurement,
avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy,
avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
androidAudioAttributes: AndroidAudioAttributes(
contentType: AndroidAudioContentType.speech,
flags: AndroidAudioFlags.none,
usage: AndroidAudioUsage.voiceCommunication,
),
androidAudioFocusGainType: AndroidAudioFocusGainType.gain,
androidWillPauseWhenDucked: false,
));
if (Platform.isIOS) {
await IOSAudioDebug.logAudioSessionDetails();
await IOSAudioDebug.optimizeForAudioDetection();
}
_logger.info('🎵 ✅ Session audio configurée');
return true;
} catch (e) {
_logger.error('🎵 ❌ Erreur session audio: $e');
return false;
}
}