Raspberry-Pi-Installer-Scripts
Raspberry-Pi-Installer-Scripts copied to clipboard
i2smic doesn't make mic available to Chromium
I can successfully record with the i2smic.py configuration for the i2s MEMS microphone breakout with my Raspberry Pi 4 using arecord.
However, I can't get it to be used with Chromium. If I use a site like https://mictests.com I get a list of microphones to choose from:

However, if I select the default microphone, I get the following message:
Apparently, your microphone is being used or blocked by another application. To start your microphone, you must temporarily close that application.
The second option - Default Audio Device - appears to allow access, but doesn't record anything. The third option - Direct sample snooping device - has the 'microphone is being used or blocked' message The fourth option - Direct hardware device without any conversions - doesn't record anything The fifth option - Direct hardware devices with all software conersions - doesn't record anything.
Running Chromium from a shell output the following messages when attempting to use the microphone with the website:
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM input
[1672:1672:1026/212859.858635:ERROR:alsa_util.cc(204)] PcmOpen: default,No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM input
[1672:1672:1026/212859.858907:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,No such file or directory
ALSA lib control.c:1375:(snd_ctl_open_noupdate) Invalid CTL CARD=sndrpii2scard
[1672:1672:1026/213653.725377:ERROR:alsa_util.cc(309)] MixerAttach, CARD=sndrpii2scard, No such file or directory
[1672:1672:1026/213655.806711:ERROR:alsa_util.cc(204)] PcmOpen: default,Device or resource busy
[1672:1672:1026/213655.807073:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,Device or resource busy
ALSA lib pcm.c:8500:(snd_pcm_set_params) Sample format not available for CAPTURE: Invalid argument
[1672:1672:1026/213755.911870:ERROR:alsa_util.cc(71)] PcmHwParamsSetFormat: Invalid argument
[1672:1672:1026/213919.276539:ERROR:alsa_util.cc(204)] PcmOpen: default,Device or resource busy
[1672:1672:1026/213919.276841:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,Device or resource busy
[1672:1672:1026/214019.251369:ERROR:alsa_util.cc(204)] PcmOpen: default,Device or resource busy
[1672:1672:1026/214019.251674:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,Device or resource busy
Details of hardware:
pi@doorbell:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: sndrpii2scard [snd_rpi_i2s_card], device 0: simple-card_codec_link snd-soc-dummy-dai-0 [simple-card_codec_link snd-soc-dummy-dai-0]
Subdevices: 1/1
Subdevice #0: subdevice #0
pi@doorbell:~ $ arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
speakerbonnet
dmixer
softvol
default
output
sysdefault:CARD=sndrpii2scard
snd_rpi_i2s_card, simple-card_codec_link snd-soc-dummy-dai-0
Default Audio Device
dmix:CARD=sndrpii2scard,DEV=0
snd_rpi_i2s_card, simple-card_codec_link snd-soc-dummy-dai-0
Direct sample mixing device
dsnoop:CARD=sndrpii2scard,DEV=0
snd_rpi_i2s_card, simple-card_codec_link snd-soc-dummy-dai-0
Direct sample snooping device
hw:CARD=sndrpii2scard,DEV=0
snd_rpi_i2s_card, simple-card_codec_link snd-soc-dummy-dai-0
Direct hardware device without any conversions
plughw:CARD=sndrpii2scard,DEV=0
snd_rpi_i2s_card, simple-card_codec_link snd-soc-dummy-dai-0
Hardware device with all software conversions
I notice that as with aplay (issue ref #64), I can't make two recordings simulaneously - the second one to start gets an arecord: main:828: audio open error: Device or resource busy error. I don't know if that is to be expected and if it has anything to do with Chromium not being able to get the microphone. I am not intentionally using the microphone whilst using Chromium!