Teo. Teo. - 1 year ago 154
Javascript Question

Chrome extension microphone capture

I have a

extension where the user can press
in order to capture some audio input. After the file has been recorded I would like to dump its url in the console. The problem is that I cannot get access to the microphone. This is what I have tried so far:

- does not work,
navigator.webkitGetUserMedia({ audio: true },...);
calls the error callback with a MediaDeviceFailedDueToShutdown. I tried looking into that error but I found nothing useful about that. That error is nowhere to be found.

Could you please guide me to the right path? Thank you.

Answer Source

So it turns out that I have to get the user media from within an html page that is baked into the extension itself. After the user has given access to the microphone, the background script of the extension also gets access to it.

In my case, after installing I launch the welcome.html page where access is being requested:


chrome.runtime.onInstalled.addListener((details) => {
    if (details.reason.search(/install/g) === -1) {
        url: chrome.extension.getURL("welcome.html"),
        active: true


navigator.webkitGetUserMedia({ audio: true }, s => {...}, err => {...}
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download