Open
Description
Describe the bug
The mediaConstraints cannot be object, here I use 'facingMode': { 'ideal': 'user'},
E/AndroidRuntime( 5366): java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.utils.ConstraintsMap.getString(ConstraintsMap.java:47)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl.getFacingMode(GetUserMediaImpl.java:294)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl.getUserVideo(GetUserMediaImpl.java:660)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl.getUserMedia(GetUserMediaImpl.java:569)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl.access$000(GetUserMediaImpl.java:83)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl$1.invoke(GetUserMediaImpl.java:422)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.GetUserMediaImpl.lambda$requestPermissions$0(GetUserMediaImpl.java:748)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.-$$Lambda$GetUserMediaImpl$AYlbN-lau_BtO18rLwHpvrTF91U.invoke(Unknown Source:6)
E/AndroidRuntime( 5366): at com.cloudwebrtc.webrtc.utils.PermissionUtils$1.onReceiveResult(PermissionUtils.java:102)
E/AndroidRuntime( 5366): at android.os.ResultReceiver$MyRunnable.run(ResultReceiver.java:50)
E/AndroidRuntime( 5366): at android.os.Handler.handleCallback(Handler.java:938)
E/AndroidRuntime( 5366): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 5366): at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime( 5366): at android.app.ActivityThread.main(ActivityThread.java:7656)
E/AndroidRuntime( 5366): at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 5366): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime( 5366): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
To Reproduce
final mediaConstraints = <String, dynamic>{
'audio': {
'noiseSuppression': true,
'echoCancellation': true,
},
'video':{
'facingMode': {
'ideal': 'user',
},
}
};
navigator.mediaDevices.getUserMedia(mediaConstraints);
Expected behavior
I think it must be works
Platform information
- Flutter version:
[√] Flutter (Channel stable, 2.0.5, on Microsoft Windows [Version 10.0.18363.1500], locale en-US)
• Flutter version 2.0.5 at C:\flutter
• Framework revision adc687823a (3 days ago), 2021-04-16 09:40:20 -0700
• Engine revision b09f014e96
• Dart version 2.12.3
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\PC\AppData\Local\Android\Sdk
• Platform android-30, build-tools 29.0.2
• ANDROID_HOME = C:\Users\PC\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (3 available)
• sdk gphone x86 (mobile) • emulator-5554 • android-x86 • Android 11 (API 30) (emulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 89.0.4389.114
• Edge (web) • edge • web-javascript • Microsoft Edge 89.0.774.77
• No issues found!
- Plugin version: 0.6.3
- OS: Android
- OS version: 11