getAvailableDevices method

  1. @override
Future<List<AudioDevice>> getAvailableDevices({
  1. AndroidAudioOptions androidAudioOptions = const AndroidAudioOptions(),
})
override

Get available audio devices list (Android internal use)

androidAudioOptions Android-specific options for filtering devices. Defaults to AndroidAudioOptions.communication(). Ignored on iOS.

Implementation

@override
Future<List<AudioDevice>> getAvailableDevices({
  AndroidAudioOptions androidAudioOptions = const AndroidAudioOptions(),
}) async {
  try {
    final result = await methodChannel.invokeMethod<List>(
      'getAvailableDevices',
      androidAudioOptions.toMap(),
    );
    if (result == null) return [];

    return result.map((data) => AudioDevice.fromMap(data as Map)).toList();
  } catch (e) {
    // Query operations can fail silently and return empty list
    debugPrint('getAvailableDevices error: $e');
    return [];
  }
}