element-hq / element-web

A glossy Matrix collaboration client for the web.
https://element.io
GNU Affero General Public License v3.0
11.19k stars 2k forks source link

Element does not use correct microphone and speaker from settings #17624

Open wchao opened 3 years ago

wchao commented 3 years ago

Description

I select a wired USB headset in both Audio Output and Microphone under Settings > Voice & Video. Regardless of what I set the Audio Output and Microphone values to in the Voice & Video settings, my audio calls go through my USB speaker (Jabra Speak 410 USB audio device). See attached screen shots of my audio settings within Element.

Steps to reproduce

My expectation is that Element will use my USB headset for audio input and output of the call.

Logs being sent: yes Will send logs in a day or two, once I have a chance to get on an audio call.

Version information

For the desktop app:

OS: Windows 10 Pro version 21H1 build 19043.1052 Desktop client version 1.7.30

2 - Microphone options 1 - Voice   Video settings
dbkr commented 3 years ago

Can you clarify whether you're making a 1:1 call or a group call (ie. if there's more than two people in the room)?

wchao commented 3 years ago

Yes, good question. I experience the problem on 1:1 calls. For group calls, I use Jitsi Meet. I don't think I've tried a group call within Element, so I can't say whether the audio device selection problem exists or not with group calls. I know it happens with 1:1 calls. The strange thing is I just had a call this morning and somewhat surprisingly (to me), the audio device worked fine. I was able to hear and speak via my USB headset. I don't know if that was because I just booted up my computer. I will run some further tests and submit the debug logs once I reproduce the problem. I know the audio device selection problem happens because when it happens, I go and look at the audio devices selected to see why audio is coming through the wrong device, but I'm not totally sure what causes it to happen now.

wchao commented 3 years ago

Strangely, I have made several calls today and Element has used the correct audio device on all of them. I obviously can't expect the developers to fix a problem that I can't reproduce, so I will continue to monitor things and see when I can get a debug log of the incorrect audio device selection problem. There is a possibility that 1.7.30 fixed the problem because I was having the audio device issue prior to 1.7.30, but I don't know if the problem stopped because of the update to 1.7.30 or because there is some other condition that I haven't yet triggered to cause the problem. Will keep tabs on this for a while and close out this bug report in a couple of weeks if I can't get the problem to recur.

wchao commented 3 years ago

Closing this issue, as I have not been able to reproduce it. Strangely, it seems to work OK now. Maybe the update to 1.7.30 fixed my problem. Will reopen this issue if it occurs again.

wchao commented 3 years ago

My audio devices are set to Mpow 323 (headset worn over the head, with earphones and microphone). I clicked to make a call in a 1:1 room with another Element user. The audio out device was routed to my Jabra Speak 410 (speakerphone). The microphone was routed to Mpow 323 headest. The expected behavior was to have both speaker and microphone routed to Mpow 323, since that is how I have the settings set.

I sent a debug log via the "Submit debug logs" button in Settings > Help & About.

wchao commented 3 years ago

I noticed Z-Rageshake label added to this issue. What does that mean? How do I rageshake my 20 pound Dell Optiplex PC (this is Element running on Windows)?

I didn't want to miss something if the developers were expecting me to do something further to move the issue forward.

t3chguy commented 3 years ago

That means that someone already sent in debug logs (rageshake) That someone happens to be you. You cannot see them attached as they are in a private repository

wchao commented 2 years ago

I'm not totally sure if this particular bug is fixed (I don't think it has), but I noticed today that at least there is now a workaround. It is now possible to change the audio devices on an existing call, so even if the audio devices start out wrong, at least it's easy to fix now. Just go to All Settings > Voice & Video, and change the audio output and microphone as desired, and the device will change mid-stream (i.e. even if you are on a call). It does seem to me that the audio output and microphone devices are still wrong at the start of the call because on my call this morning, the audio output was my speakerphone while my microphone was my headset, and I would not set it that way on purpose within Element, so it must have gotten scrambled -- I'm guessing it's getting the devices from some other configuration setting within Windows or it is just getting randomly scrambled somehow.

So, still a minor problem, but much better now that the device can at least be changed after starting a call.

SimonBrandner commented 2 years ago

We do support mid-call output device changes but we definitely don't have mid-call input device changes, though the work on that is in progress

wchao commented 2 years ago

Also want to note that I am now using Windows 11 build 22000.469, though it's the same Windows 10 machine, and the OS has just been updated following natural update pushes from Microsoft. I'm using Element version 1.10.1, also through natural updates to Element from the version I first reported above in this bug report. So, I'm not entirely sure if the new ability is a result of OS updates or because of Element application (or library) updates.

Also, good to note (from Simon's comment) that I only changed the output device while on a call (was speakerphone and I wanted my headset). That worked for me. I didn't need to change the input device while on the call because it was already set to my desired device (my headset rather than the speakerphone). It would probably be useful to be able to change the input device mid-call too, so very glad to hear that work is in progress for that functionality too.

vertigo220 commented 1 year ago

My friend and I have both experienced similar issues that seem related to this. IIRC, we had a bit of an issue with it at first when we were in a room with just the two of us. I don't remember for sure, but I think either they or both of us had to change the audio device to get it to work, despite the fact that both our headsets were set as default input and output. After the initial issues, I think it worked ok in the room, but then we switched to a DM, and after that, every single call has issues. It doesn't matter who calls whom, but every time I can hear them but they can't hear me. To get it working, I have to switch the input to the headset further down the list (not where it's listed and already selected as the "default" device at the top), which is the same device it was already set to. Then he can hear me, and after that, I can set it back to the default (again, same device) and it still works, even though at that point it's the same as it was at the start when it didn't work. This is all made especially difficult due to #24254.

This may also be related to #13882 and #16504.

xundeenergie commented 1 year ago

here the same on element-desktop and schildichat desktop on linux debian 12 from deb and flatpak. all the same. image

i can not do calls.