[Interest] QMediaDevices never emits the audioOutputsChanged signal on Linux

Kevin André hyperquantum at gmail.com
Mon Oct 27 21:23:14 CET 2025


Hi,

After a long time of only being able to test/use my music player on
Windows, I finally installed Linux on an old laptop and compiled and tested
it there. And it seems it has a problem I did not encounter on Windows:
automatic switching of audio output does not work properly. The root cause
of the problem seems to be that QMediaDevices never emits
the audioOutputsChanged signal.

I have searched the Qt bug database, but I could not find this
problem mentioned anywhere. Or has it been fixed already? I am using Mint
Cinnamon 22.2 and its version of Qt is rather old: 6.4.2. On Windows I am
currently using version 6.8.3.

When turning a Bluetooth speaker on/off, the sound does switch to a
different device, but only for the QMediaPlayer instance that is currently
playing. When one song ends and the next one starts, in a *different*
QMediaPlayer instance, it gets its output device from a variable that
tracks the default audio output device. This variable is initialized once
at startup and is updated each time the QMediaDevices::audioOutputsChanged
signal is emitted. So this logic breaks down if the signal never arrives of
course. QMediaPlayer will then use the laptop speakers even when the
Bluetooth speaker is available and the default device in reality.

So is this a known problem? Will it be fixed or has it been fixed already
in a newer version of Qt?


Thanks,

Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20251027/0769adb0/attachment.htm>


More information about the Interest mailing list