All application audio output streams.
The underlying Gvc.MixerControl instance.
Check if service has been disposed
The default audio input (source) stream.
All available microphone (source) streams.
All application audio recording streams.
The default audio output (sink) stream.
All available speaker (sink) streams.
Creates a Binding for a property on this service.
The property to bind
A Binding that can be used in widget constructors
Notifies listeners that a property changed and emits the 'changed' signal.
The property name that changed
Connects a callback to a signal on this service.
The signal name (defaults to 'changed')
The callback to invoke when the signal is emitted
The signal connection ID
Creates an incremental list binding that reuses existing widgets.
Instead of recreating all widgets on every update, this method caches widgets by a key function and only creates new widgets for new items, destroying widgets for removed items.
A Binding that produces an array of widgets
ProtecteddisconnectClean up all tracked signal connections Call this in service-specific dispose implementations
Dispose of service resources Override in subclasses to add specific cleanup
Emits a signal, warning if the signal was not registered via Service.register.
The warning is cheap (a Set lookup per emit) and helps catch typos
and missing signal declarations that silently break .bind().
ReadonlygetRetrieves a stream wrapper by its numeric ID.
The stream identifier
The Stream instance or undefined
ProtectedretryProtectedtrackTrack a signal connection for automatic cleanup
The object the signal is connected to (defaults to this)
The signal connection ID
Track a signal connection for automatic cleanup
The signal connection ID
Updates a property value and emits a notify signal if the value changed.
Performs a deep equality check via JSON serialization to avoid unnecessary notifications.
The property name in kebab-case
The new value
StaticimportStaticpspecStaticregister
Audio Service
Manages PulseAudio/PipeWire audio streams, speakers, and microphones via Gvc.
Lifecycle:
Fires
speaker-changed - Default speaker changed
Fires
microphone-changed - Default microphone changed
Fires
stream-added - New stream added
Fires
stream-removed - Stream removed