diff --git a/lib/src/track/options.dart b/lib/src/track/options.dart index a985850..8d3d1ac 100644 --- a/lib/src/track/options.dart +++ b/lib/src/track/options.dart @@ -199,8 +199,12 @@ class AudioCaptureOptions extends LocalTrackOptions { @override Map toMediaConstraintsMap() { - var constraints = { - 'optional': >[ + var constraints = {}; + + /// in we platform it's not possible to provide optional and mandatory parameters. + /// deviceId is a mandatory parameter + if (!kIsWeb || (kIsWeb && deviceId == null)) { + constraints['optional'] = >[ {'echoCancellation': echoCancellation}, {'googDAEchoCancellation': echoCancellation}, {'googEchoCancellation': echoCancellation}, @@ -211,8 +215,8 @@ class AudioCaptureOptions extends LocalTrackOptions { {'googAutoGainControl': autoGainControl}, {'googHighpassFilter': highPassFilter}, {'googTypingNoiseDetection': typingNoiseDetection}, - ], - }; + ]; + } if (deviceId != null) { if (kIsWeb) {