configureAudioSession method
Configures the audio session for optimal audio processing
This is primarily used on iOS to set up the audio session for recording and playback. On other platforms, this method may be a no-op.
configuration
- Audio session configuration options
Returns true if configuration was successful.
Implementation
@override
Future<bool> configureAudioSession({
Map<String, dynamic>? configuration,
}) async {
try {
final result = await methodChannel
.invokeMethod<bool>('configureAudioSession', configuration ?? {})
.timeout(const Duration(seconds: 10));
return result ??
true; // Default to success for platforms that don't need it
} on PlatformException catch (e) {
if (e.code == 'PLATFORM_NOT_SUPPORTED') {
return true; // Audio session configuration is not needed on this platform
}
throw AudioAnalysisException(
'Audio session configuration failed: ${e.message}',
code: e.code,
details: e.details?.toString(),
originalError: e,
);
} catch (e) {
throw AudioAnalysisException(
'Audio session configuration failed: $e',
originalError: e,
);
}
}