Skip to content

Commit 3c4ff93

Browse files
authored
Merge pull request #41 from td-famedly/td/audioConstraintsTranslator
fix: translate audio constraints for web
2 parents ea029c2 + dc362d5 commit 3c4ff93

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

lib/src/mediadevices_impl.dart

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,28 @@ class MediaDevicesWeb extends MediaDevices {
2727
print(
2828
'[getUserMedia] failed to remove facingMode from mediaConstraints');
2929
}
30+
try {
31+
if (mediaConstraints['audio'] is Map<String, dynamic> &&
32+
Map.from(mediaConstraints['audio']).containsKey('optional') &&
33+
mediaConstraints['audio']['optional']
34+
is List<Map<String, dynamic>>) {
35+
List<Map<String, dynamic>> optionalValues =
36+
mediaConstraints['audio']['optional'];
37+
final audioMap = <String, dynamic>{};
38+
39+
optionalValues.forEach((option) {
40+
option.forEach((key, value) {
41+
audioMap[key] = value;
42+
});
43+
});
44+
45+
mediaConstraints['audio'].remove('optional');
46+
mediaConstraints['audio'].addAll(audioMap);
47+
}
48+
} catch (e, s) {
49+
print(
50+
'[getUserMedia] failed to translate optional audio constraints, $e, $s');
51+
}
3052

3153
final mediaDevices = web.window.navigator.mediaDevices;
3254

0 commit comments

Comments
 (0)