hs.audiodevice.allDevices() -> hs.audiodevice[]
hs.audiodevice.allInputDevices() -> audio[]
hs.audiodevice.allOutputDevices() -> hs.audiodevice[]
hs.audiodevice.current([input]) -> table
lua { name = defaultOutputDevice():name(), uid = module.defaultOutputDevice():uid(), muted = defaultOutputDevice():muted(), volume = defaultOutputDevice():volume(), device = defaultOutputDevice(), }
hs.audiodevice.defaultEffectDevice() -> audio or nil
hs.audiodevice.defaultInputDevice() -> audio or nil
hs.audiodevice.defaultOutputDevice() -> audio or nil
hs.audiodevice.findDeviceByName(name) -> device or nil
hs.audiodevice
object or nil if the device could not be foundhs.audiodevice.findDeviceByUID(uid) -> device or nil
hs.audiodevice
object or nil if the device could not be foundhs.audiodevice.findInputByName(name) -> device or nil
hs.audiodevice.findInputByUID(uid) -> device or nil
hs.audiodevice.findOutputByName(name) -> device or nil
hs.audiodevice.findOutputByUID(uid) -> device or nil
hs.audiodevice:allInputDataSources() -> hs.audiodevice.dataSource[] or nil
hs.audiodevice:allOutputDataSources() -> hs.audiodevice.dataSource[] or nil
hs.audiodevice:balance() -> number or nil
:inputVolume()
and :outputVolume()
hs.audiodevice:currentInputDataSource() -> hs.audiodevice.dataSource object or nil
hs.audiodevice:currentOutputDataSource() -> hs.audiodevice.dataSource object or nil
hs.audiodevice:inputMuted() -> bool or nil
hs.audiodevice:inputVolume() -> number or nil
hs.audiodevice:isInputDevice() -> boolean
hs.audiodevice:isOutputDevice() -> boolean
hs.audiodevice:jackConnected() -> boolean or nil
hs.audiodevice:muted() -> bool or nil
:inputMuted()
and :outputMuted()
for specific variants.hs.audiodevice:name() -> string or nil
hs.audiodevice:outputMuted() -> bool or nil
hs.audiodevice:outputVolume() -> number or nil
hs.audiodevice:setBalance(level) -> bool
:setInputVolume()
and :setOutputVolume()
hs.audiodevice:setDefaultEffectDevice() -> bool
hs.audiodevice:setDefaultInputDevice() -> bool
hs.audiodevice:setDefaultOutputDevice() -> bool
hs.audiodevice:setInputMuted(state) -> bool
hs.audiodevice:setInputVolume(level) -> bool
hs.audiodevice:setMuted(state) -> bool
:inputSetMuted()
and :outputSetMuted()
for specific variants.hs.audiodevice:setOutputMuted(state) -> bool
hs.audiodevice:setOutputVolume(level) -> bool
hs.audiodevice:setVolume(level) -> bool
:setInputVolume()
and :setOutputVolume()
hs.audiodevice:supportsInputDataSources() -> boolean
hs.audiodevice:supportsOutputDataSources() -> boolean
hs.audiodevice:transportType() -> string
hs.audiodevice:uid() -> string or nil
hs.audiodevice:volume() -> number or nil
:inputVolume()
and :outputVolume()
hs.audiodevice:watcherCallback(fn) -> hs.audiodevice
hs.audiodevice.findDeviceByUID()
)hs.audiodevice
objectvolm
event for each audio channel when the volume changes, or multiple mute
events for channels. Dragging a volume slider in the system Sound preferences will produce a large number of volm
events. Plugging/unplugging headphones may trigger volm
events in addition to jack
ones, etc.hs.audiodevice
object in your callback, use hs.audiodevice.findDeviceByUID()
to obtain it fro the first callback argumenths.audiodevice:watcherIsRunning() -> boolean
hs.audiodevice
object watcherhs.audiodevice:watcherStart() -> hs.audiodevice or nil
hs.audiodevice
objecths.audiodevice
object, or nil if an error occurredhs.audiodevice:watcherStop() -> hs.audiodevice