I added CefSharp to a brand new winforms app (.net 4.6 I believe).
The only code necessary to reproduce this is below:
cefSettings = new CefSettings();
cefSettings.CefCommandLineArgs.Add("enable-media-stream", "1");
Cef.Initialize(cefSettings);
browser = new ChromiumWebBrowser("voice.google.com");
this.Controls.Add(browser);
That code will add the CefSharp browser control to the From, the cefSettings and browser variables are private class variables but that shouldn't matter for this.
The issue I am having is that despite using the "enable-media-stream" param, the google voice site still thinks the browser hasn't allowed microphone access. To make things worse, the microphone actually works in the app and I can make and take calls (had to hack some html by injecting JS though) but when I open the audio settings, it still shows the warning "give Google Voice permission to use your microphone" and the device selection dropdowns are disabled even though you can see in the screenshot that my audio devices show up.
As I mentioned, the microphone is actually working and google voice has access to it but it thinks it doesn't. My theory is that google is using a combination of media related JS to determine the level of access that the browser is allowing it when accessing the media devices. Any ideas as to what google might using that isn't compatible with CEF and how to resolve it?