m2jean / ToothTray

A tray icon in Windows task bar to quickly connect or disconnect bluetooth audio devices.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Disconnect doesn't disconnect a microphone

PolarGoose opened this issue · comments

Context

OS: Windows 11 10.0.22631.3007
The version of the ToothTray: ToothTray v0.2
Bluetooth headsets that were tested: Jabra Evolve 75e, Sony WH-1000XM5

Problem description

After disconnecting an audio device using the ToothTray, the device doesn't disconnect completely - the microphone is still left connected:

Streps to reproduce

  1. Connect to the headset device via the ToothTray or via Bluetooth & devices Windows dialog
  2. Audio and Microphone get connected.
    image
  3. Disconnect the device via ToothTray
  4. Only the audio part of the device is disconnected. The microphone is still left connected.
    image
    image

As pointed out by a comment in the linked issue, this app was designed to only enumerates audio capture devices (shown as stereo devices).
Can you confirm if this is a Win 11 specific issue? When I was testing on Win 10, connecting a headset won't automatically connect its mic. The mic is connected only when the device is selected as a hands-free device in Windows

@m2jean,
Thank you for the explanation.

this app was designed to only enumerates audio capture devices (shown as stereo devices).

On Windows 11 if I connect the headset using the ToothTray the microphone gets connected as well. Then, when I disconnect, only the audio part of the device is disconnected. I have updated the Streps to reproduce section to make this more straightforward.

Can you confirm if this is a Win 11 specific issue?

Unfortunately, I don't have Windows 10 to test if ToothTray works there.

this app was designed to only enumerates audio capture devices

Could you please consider adding a feature to ToothTray to connect/disconnect a microphone for headset devices?

@m2jean,
Your advice to use eAll instead of eRender in the BluetoothAudioDeviceEnumerator::EnumerateAudioDevices() function worked.
Thank you very much for the solution.
I have adopted your implementation in my BluetoothDevicePairing utility: AudioDeviceEnumerator.cs

@PolarGoose I haven't gotten a chance to try it out myself with a Win 11 machine but glad it works