Page 1 of 1

Microphone Issue with Cef4Delphi and Duolingo 'Speaking' Practice

Posted: Tue Apr 29, 2025 3:18 pm
by nightbird
Hello everyone,

I'm trying to use the Cef4Delphi browser for some speaking practice on www.duolingo.com, but the microphone doesn't seem to work properly.
I've tested it using the SimpleBrowser2 demo app:
- The site loads and runs fine, except for the speaking exercises.
- When Duolingo requests microphone access, I get a permission popup, and I allow it.
- However, the exercise is immediately marked as failed—it's as if no audio input is received, and it doesn't wait for me to speak.
- The same scenario works perfectly in Chrome of course :)
- Recording a message in 'web.whatsapp.com' using the same SimpleBrowser2 app also works perfectly.

Does anyone have any idea how to fix this?

Greetings from Belgium,
nightbird

P.S.
- Using the latest source code & binaries: 'Cef_135.0.22_Chromium_135.0.7049.115_Official'
- Same problem occurs when using a custom build binaries (with proprietary Codecs)
- The 'Speaking' practice is only available with a paid subscription.

Re: Microphone Issue with Cef4Delphi and Duolingo 'Speaking' Practice

Posted: Wed Apr 30, 2025 10:11 am
by nightbird
UPDATE after some research:

Duolingo relies on the Web Speech API, which is available in Chrome but not in Chromium. As a result, using the microphone on Duolingo with Chromium or Cef4Delphi does not work — and likely never will.

Thanks for reading.
Greetings from Belgium,
nightbird

Re: Microphone Issue with Cef4Delphi and Duolingo 'Speaking' Practice

Posted: Wed Apr 30, 2025 10:36 am
by salvadordf
Hi,

If I remember correctly, Google deleted all the API keys from Chromium and CEF doesn't support some of those APIs.

Perhaps WebView4Delphi works with DuoLingo.

Re: Microphone Issue with Cef4Delphi and Duolingo 'Speaking' Practice

Posted: Wed Apr 30, 2025 6:55 pm
by nightbird
Hi Salvador,

Thanks for the tip.
I’ve downloaded the latest version of WebView4Delphi along with the corresponding WebView2 Runtime.
I ran the same test using the 'SimpleBrowser' demo app and encountered the same result:
- I get a permission popup, and I allow it.
- However, the exercise is immediately marked as failed—it’s as if no audio input is received, and it doesn’t wait for me to speak.

But thanks anyway!
Greetings from Belgium,
nightbird