The four switches between a web page and your camera
A web page cannot touch the camera or microphone directly. It calls a browser function, getUserMedia, and the browser decides. According to MDN, the browser's reference documentation, that call only works on a secure page (https, localhost or a local file), it must ask for your permission at least the first time, and it reports failures with named errors. Between the page and the hardware there are four gates, and a failure at any one of them looks the same to you: no picture, no sound.
- The page itself: it has to be loaded over https, and it has to be the top-level page or an embedded frame that the top page explicitly allows.
- The site permission in the browser: the Allow or Block answer you gave, which the browser remembers per site.
- The browser's own permission in the operating system: macOS and Windows each keep a list of apps allowed to use the camera and microphone, and the browser is one of those apps.
- The device: it has to exist, be selected as the one the browser uses, and not be held by another program.
Start by opening the mic test or the webcam test. Both run in the browser on an https page, so gate 1 is known good, and they show which device they are using and whether anything arrives. If they work, the problem is inside your call app and its device selection. If they fail too, work through gates 2 to 4 below.
Gate 2: the site permission in your browser
Chrome
Open the menu at the top right, then Settings, then Privacy and security, then Site settings. Under Permissions pick Camera or Microphone. Chrome lists the sites that are allowed and the ones that are not allowed; select a site under "Not allowed" and change it to Allow, or remove it from the list so the site asks again. Chrome notes that an allowed site can only use the devices while you are on it. If Chrome itself is blocked by the operating system, it shows a prompt that opens the system settings, and you may have to quit and restart Chrome afterwards. On a work or school computer an administrator may have set these options so that you cannot change them.
Edge
Microsoft's guidance is that Edge needs permission from Windows first, and each website then needs its own permission on top: when a site asks, choose Allow, or Block to refuse. To change a site later, open Edge's Settings, go to Privacy, search, and services, then Site permissions, then All sites, pick the site and set Camera or Microphone.
Safari on a Mac
While the site is open, use the page menu in the address field and choose Website Settings; Camera and Microphone are listed there with the choice of whether the website can use them. For sites that are not open, choose Safari, then Settings, then Websites, select Camera or Microphone on the left, and set the option for each configured website or for "When visiting other websites".
Firefox and other browsers
Other browsers keep a comparable per-site switch in their privacy or site settings. Look for the camera or microphone entry there, remove the site's stored answer, and reload so the page asks again.
Gate 3: the operating system's permission for the browser
macOS
Open System Settings, then Privacy & Security, then Camera (and, in the same list, Microphone). Each app that has ever asked appears with a switch; turn the browser on. Apple notes the list only contains apps that have requested access, so a browser that has never asked is not there yet, and that a green light next to the camera shows when it is in use. Safari's website permissions are separate from this list and live in Safari's own settings.
Windows
Open Settings, then Privacy & security, then Camera (and Microphone, which works the same way). Three switches sit on top of each other: "Camera access" for the whole device, "Let apps access your camera" for Microsoft Store apps with a per-app list, and "Let desktop apps access your camera", a single switch that covers every program not installed from the Store. Browsers count as desktop apps, so that last switch must be on; Microsoft notes that desktop apps cannot be toggled individually. If "Camera access" is greyed out, an administrator controls it. On Windows 10 the same settings sit under Settings, then Privacy, with slightly different labels.
Gate 4: the device itself
- Another program holds it. A video call app left open, a recording tool or a virtual camera can keep the device busy. Close them and reload the page. In MDN's terms this is the case where permission is granted but the device still cannot be read.
- The wrong device is selected. Laptops with a headset plugged in often keep the built-in microphone as the default. The site's permission prompt or the browser's camera and microphone settings let you choose; the mic test shows the device name it is listening to, so you can tell at a glance.
- The device is muted in hardware. Many headsets have a mute switch on the cable, some laptops have a keyboard shortcut that disables the camera or microphone, and some external webcams have a privacy shutter. The level meter in the mic test stays flat and the webcam test stays black when that is the case, even though every permission is correct.
- The device is not seen at all. If the browser's device list does not contain it, the operating system does not see it either: try another port or cable, and check the system's sound or camera settings before going further.
What the error names mean
Call apps and test pages sometimes show the technical error name. MDN defines them, and each one points at a gate:
| Error | MDN's meaning | Where to look |
|---|---|---|
| NotAllowedError | The page is not secure, or access was refused for this session, for this site or globally | Gates 1 to 3: https, site permission, OS permission |
| NotFoundError | No media track of the requested type exists | Gate 4: no such device connected or selected |
| NotReadableError | Permission was granted, but a hardware error at the OS, browser or page level prevented access | Gate 4: another program holds the device, or a driver problem |
| OverconstrainedError | No device meets the requested constraints, such as a resolution | Gate 4: the page asked for more than the device offers |
Testing a recording before the real one
Once the test pages show a picture and a moving level, record a few seconds with the voice recorder or the webcam recorder and play it back. That catches the problems permissions cannot: a microphone that picks up the fan more than your voice, a camera pointed at the ceiling light, or a headset whose level is so low that the call app's noise suppression swallows you. For a presentation, the screen recorder asks for a separate permission to capture the screen, which is a different prompt from the camera one and has to be granted on its own.
Frequently asked questions
Why does the browser not even ask for my camera?
Usually because an earlier answer is remembered. Browsers ask the first time a site wants the camera or microphone and store the choice, so a site you once blocked never asks again until you change its permission in the site settings. The other common cause is a page served over plain http: browsers only expose the camera and microphone to pages loaded over https, from localhost or from a local file.
The site is allowed but the picture is black or the meter stays flat. Why?
The device is probably in use by another program or blocked by the operating system. Close other apps that use the camera or microphone, then check the system privacy settings: macOS lists which apps may use the camera and microphone, and Windows has a device-wide switch plus a separate switch for desktop apps, which covers browsers. Chrome shows a prompt to open those settings when the OS is the blocker.
Which microphone is the browser using?
The one set as default for the browser, which is often the laptop's built-in mic even when a headset is plugged in. Site permission prompts and the browser's camera and microphone settings let you pick the device. Our mic test shows the name of the device it is listening to and a level meter, so you can see at once whether the right one is selected.
The device is not in the browser's list at all. What now?
Then the operating system does not see it either, and no browser setting will help. Try another USB port or cable, check the system's sound or camera settings for the device, and only then come back to the browser. A device that the system lists but the browser does not is usually a permission problem at the operating-system gate.
What do NotAllowedError and NotReadableError mean?
These are the names the browser gives the page when access fails. NotAllowedError means permission was refused, by you, by a stored setting, by the operating system or because the page is not secure. NotReadableError means permission was granted but a hardware or system error stopped the device from being read, which is typical when another app holds it. NotFoundError means no matching device exists at all.
Sources
- MDN Web Docs: MediaDevices.getUserMedia() (secure context requirement, permission prompts, the NotAllowedError, NotFoundError, NotReadableError and OverconstrainedError errors)
- Google Chrome Help: Use your camera and microphone (Settings > Privacy and security > Site settings > Camera or Microphone; allowed and blocked lists; prompt to open system settings)
- Apple Safari User Guide: Customize settings per website (Safari > Settings > Websites > Camera or Microphone; the Website Settings page menu)
- Microsoft: Windows camera, microphone, and privacy (Edge site permissions; desktop apps cannot be toggled individually)
- Microsoft: Manage app permissions for your camera in Windows (Camera access, Let apps access your camera, Let desktop apps access your camera)
- Microsoft: Turn on app permissions for your microphone in Windows
- Apple macOS User Guide: Control access to your camera on Mac (System Settings > Privacy & Security > Camera; the green indicator light)