hs.audiodevice
ModuleModule for discovering and controlling audio devices.
Finding devices
const all = hs.audiodevice.all();
const out = hs.audiodevice.defaultOutputDevice();
const mic = hs.audiodevice.defaultInputDevice();
Selecting a device
const usb = hs.audiodevice.findDeviceByName("USB Audio CODEC");
if (usb) usb.setDefaultOutputDevice();
Watching for system-level changes
var fn = function(event) {
if (event === "dOut") console.log("Default output changed");
if (event === "dev+") console.log("A device was added");
};
hs.audiodevice.addWatcher(fn);
// later…
hs.audiodevice.removeWatcher(fn);
Types
This module provides the following types:
Properties
This module has no properties.
Methods
hs.audiodevice.all() -> HSAudioDevice[]
All audio devices attached to the system.
Declaration
hs.audiodevice.all() -> HSAudioDevice[]
Returns
HSAudioDevice[]
An array of HSAudioDevice objects
Example
const devs = hs.audiodevice.all()
devs.forEach(d => console.log(d.name))
hs.audiodevice.allOutputDevices() -> HSAudioDevice[]
All audio devices that have at least one output stream.
Declaration
hs.audiodevice.allOutputDevices() -> HSAudioDevice[]
Returns
HSAudioDevice[]
An array of HSAudioDevice objects
Example
const outputs = hs.audiodevice.allOutputDevices()
hs.audiodevice.allInputDevices() -> HSAudioDevice[]
All audio devices that have at least one input stream.
Declaration
hs.audiodevice.allInputDevices() -> HSAudioDevice[]
Returns
HSAudioDevice[]
An array of HSAudioDevice objects
Example
const inputs = hs.audiodevice.allInputDevices()
hs.audiodevice.defaultOutputDevice() -> HSAudioDevice
The current system default output device.
Declaration
hs.audiodevice.defaultOutputDevice() -> HSAudioDevice
Returns
HSAudioDevice
An HSAudioDevice, or null if none is set
Example
const out = hs.audiodevice.defaultOutputDevice()
console.log(out && out.name)
hs.audiodevice.defaultInputDevice() -> HSAudioDevice
The current system default input device.
Declaration
hs.audiodevice.defaultInputDevice() -> HSAudioDevice
Returns
HSAudioDevice
An HSAudioDevice, or null if none is set
Example
const mic = hs.audiodevice.defaultInputDevice()
hs.audiodevice.defaultEffectDevice() -> HSAudioDevice
The current system alert sound device.
Declaration
hs.audiodevice.defaultEffectDevice() -> HSAudioDevice
Returns
HSAudioDevice
An HSAudioDevice, or null if none is set
Example
const effect = hs.audiodevice.defaultEffectDevice()
hs.audiodevice.findDeviceByName(name) -> HSAudioDevice
Find the first audio device whose name matches the given string.
Declaration
hs.audiodevice.findDeviceByName(name) -> HSAudioDevice
Parameters
| Name | Type | Description |
|---|---|---|
| name | string | The device name to search for |
Returns
HSAudioDevice
An HSAudioDevice if found, null otherwise
Example
const usb = hs.audiodevice.findDeviceByName("USB Audio CODEC")
hs.audiodevice.findDeviceByUID(uid) -> HSAudioDevice
Find the audio device with the given unique identifier.
Declaration
hs.audiodevice.findDeviceByUID(uid) -> HSAudioDevice
Parameters
| Name | Type | Description |
|---|---|---|
| uid | string | The device UID to search for |
Returns
HSAudioDevice
An HSAudioDevice if found, null otherwise
Example
const dev = hs.audiodevice.findDeviceByUID("BuiltInSpeakerDevice")
hs.audiodevice.addWatcher(listener) -> None
Register a listener for all system-level audio configuration events.
Declaration
hs.audiodevice.addWatcher(listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| listener | JSValue | A JavaScript function that receives the event name string |
Returns
None
Example
hs.audiodevice.addWatcher((event) => {
if (event === "dOut") console.log("Default output changed")
})
hs.audiodevice.removeWatcher(listener) -> None
Remove a previously registered system-level listener.
Declaration
hs.audiodevice.removeWatcher(listener) -> None
Parameters
| Name | Type | Description |
|---|---|---|
| listener | JSValue | The JavaScript function that was passed to ``addWatcher(_:)`` |
Returns
None
Example
hs.audiodevice.removeWatcher(myHandler)
hs.audiodevice._makeDeviceEmitter() -> None
SKIP_DOCS
Declaration
hs.audiodevice._makeDeviceEmitter() -> None
Returns
None