You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Engine.AudioDeviceManager audioManager = Sound.getAudioDeviceManager();
Get me an error: The type Engine is not visible
I would like to list and filter audio devices myself - specifically I want to list only output devices so I can create GUI for the user with list of devices to choose from.
I also want to be able to retrieve the individual device and for that I need to know the type - input or output. AudioDevice device = Engine.getEngine().outputDevice(i);
So ideally there would be method Sound.getOutputDevices() and Sound.getInputDevices() that would return the array of AudioDevice type. I can than loop through them, check their properties and decide what to do (like checking how many outputs it has, name, id, samplerate).
The text was updated successfully, but these errors were encountered:
trackme518
changed the title
make AudioDeviceManager public
make AudioDeviceManager public - enable Sound.getOutputDevices()
Dec 13, 2023
trackme518
changed the title
make AudioDeviceManager public - enable Sound.getOutputDevices()
make AudioDeviceManager and Engine public - enable Sound.getOutputDevices()
Dec 13, 2023
reading the number of output channels for a device is already possible through the MultiChannel.availableChannels(deviceId) method (all programmatic low-level information methods are in the MultiChannel class, in order not to overload the Sound class which has all options/settings that should suffice for basic users).
Just to clarify: there is no categorical distinction between input devices and output devices -- there is only one global list of audio devices, where any audio device has 0 or more input channels as well as 0 or more output channels. So it's possible that a device (notably most basic sound cards) are both an input and an output device at the same time. To test whether a given device from the global list is an "output device", one just needs to check whether the number of output channels is > 0, which can be done with the method above.
If you want to handle the AudioDeviceManager yourself, it doesn't actually make filtering for "output devices" any easier, but you can already do that -- it's not actually an internal class, it's the underlying JSyn object, so you'll just need to use the correct import (I will make sure to add that to the existing LowLevelEngine example, thanks!):
Engine.AudioDeviceManager audioManager = Sound.getAudioDeviceManager();
Get me an error: The type Engine is not visible
I would like to list and filter audio devices myself - specifically I want to list only output devices so I can create GUI for the user with list of devices to choose from.
I also want to be able to retrieve the individual device and for that I need to know the type - input or output.
AudioDevice device = Engine.getEngine().outputDevice(i);
So ideally there would be method Sound.getOutputDevices() and Sound.getInputDevices() that would return the array of AudioDevice type. I can than loop through them, check their properties and decide what to do (like checking how many outputs it has, name, id, samplerate).
The text was updated successfully, but these errors were encountered: