When you run the following code:

Java Code:
Mixer[] mixerInfo = AudioSystem.getMixerInfo();

for(int i = 0; i < mixerInfo.length; i++)
{
     System.out.println(mixerInfo[i].getName());
}
I get a list of audio devices connected to the computer. This works great in Windows and Apple. But in linux, if the Bluetooth headset is not the default audio device then it will not show in the list. Meaning that I can't access the bluetooth headset, in this case: BT-200, unless it's the default input and out audio device.

Here's the output on a Mac:
XML Code:
Java Sound Audio Engine
Built-in Microphone
Built-in Input
Plantronics .Audio 646 DSP
BT-200
interface Mixer
In this example, the BT-200 shows up whether its the default audio device or not.

Here's the output on Linux:
*Note: instead of using mixerInfo[i].getName(), i used mixerInfo[i].getDescription() in the for loop - to show the name of the devices.

XML Code:
the ear-candy mixer
Direct Audio Device: default, default, default
Direct Audio Device: Plantronics .Audio 646 DSP, USB Audio, USB Audio
Direct Audio Device: HDA Intel, Cirrus Analog, Cirrus Analog
Direct Audio Device: HDA Intel, Cirrus Digital, Cirrus Digital
Direct Audio Device: HDA NVidia, NVIDIA HDMI, NVIDIA HDMI
Direct Audio Device: HDA NVidia, NVIDIA HDMI, NVIDIA HDMI
Direct Audio Device: HDA NVidia, NVIDIA HDMI, NVIDIA HDMI
Direct Audio Device: HDA NVidia, NVIDIA HDMI, NVIDIA HDMI
AK5370          , USB Mixer
Plantronics .Audio 646 DSP, USB Mixer
HDA Intel, Cirrus Logic CS4206
HDA NVidia, Nvidia GPU 0a HDMI/DP
Direct
I can't access the bluetooth headset's audio data in linux unless it's the default audio device.

But under the sound preferences in linux, it shows all the bluetooth devices even if its not the default device.

Now my question is, is there something that i'm missing that will give me a list of bluetooth audio devices in linux even if theyre not the default audio devices?

What class does pulseAudio make that java doesnt?