Documentation ¶
Overview ¶
Example ¶
client, err := NewClient() if err != nil { panic(err) } defer client.Close() // Use `client` to interact with PulseAudio
Output:
Index ¶
- func RuntimePath(fn string) (string, error)
- type Card
- type Client
- func (c *Client) Cards() ([]Card, error)
- func (c *Client) Close()
- func (c *Client) Connected() bool
- func (c *Client) LoadModule(name string, argument string) (index uint32, err error)
- func (c *Client) ModuleList() ([]Module, error)
- func (c *Client) Mute() (bool, error)
- func (c *Client) ServerInfo() (*Server, error)
- func (c *Client) SetCardProfile(cardIndex uint32, profileName string) error
- func (c *Client) SetMute(b bool) error
- func (c *Client) SetSinkVolume(sinkName string, volume float32) error
- func (c *Client) SetVolume(volume float32) error
- func (c *Client) Sinks() ([]Sink, error)
- func (c *Client) Sources() ([]Source, error)
- func (c *Client) ToggleMute() (bool, error)
- func (c *Client) UnloadModule(index uint32) error
- func (c *Client) Updates() (updates <-chan struct{}, err error)
- func (c *Client) Volume() (float32, error)
- type Error
- type Module
- type Server
- type Sink
- type Source
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RuntimePath ¶
RuntimePath resolves a file in the pulse runtime path E.g. pass "native" to get the address for pulse' native socket Original implementation: https://github.com/pulseaudio/pulseaudio/blob/6c58c69bb6b937c1e758410d3114fc3bc0606fbe/src/pulsecore/core-util.c Except we do not support legacy $HOME paths
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client maintains a connection to the PulseAudio server.
func (*Client) Close ¶
func (c *Client) Close()
Close closes the connection to PulseAudio server and makes the Client unusable.
func (*Client) LoadModule ¶
LoadModule requests pulseaudio to load the module with the specified name and argument string. More information on how to supply these can be found in the pulseaudio documentation: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#loadablemodules e.g. LoadModule("module-alsa-sink", "sink_name=headphones sink_properties=device.description=Headphones") would be equivalent to the pulse config directive: load-module module-alsa-sink sink_name=headphones sink_properties=device.description=Headphones Returns the index of the loaded module or an error
func (*Client) ModuleList ¶
ModuleList queries pulseaudio for a list of loaded modules and returns an array
func (*Client) ServerInfo ¶
ServerInfo queries the pulseaudio server for its information
func (*Client) SetCardProfile ¶
func (*Client) SetSinkVolume ¶
func (*Client) SetVolume ¶
SetVolume changes the current volume to a specified value from 0 to 1 (or more than 1 - if volume should be boosted).
func (*Client) Sources ¶
Sources queries pulseaudio for a list of all it's sources and returns an array of them
func (*Client) ToggleMute ¶
ToggleMute reverse mute status
func (*Client) UnloadModule ¶
UnloadModule requests pulseaudio to unload the module with the specified index. The index can be found e.g. with ModuleList()
type Module ¶
type Module struct { Index uint32 Name string Argument string NUsed uint32 PropList map[string]string }
Module contains information about a pulseaudio module
type Server ¶
type Server struct { PackageName string PackageVersion string User string Hostname string SampleSpec sampleSpec DefaultSink string DefaultSource string Cookie uint32 ChannelMap channelMap }
Server contains information about the pulseaudio server
type Sink ¶
type Sink struct { Index uint32 Name string Description string SampleSpec sampleSpec ChannelMap channelMap ModuleIndex uint32 Cvolume cvolume Muted bool MonitorSourceIndex uint32 MonitorSourceName string Latency uint64 Driver string Flags uint32 PropList map[string]string RequestedLatency uint64 BaseVolume uint32 SinkState uint32 NVolumeSteps uint32 CardIndex uint32 Ports []sinkPort ActivePortName string Formats []formatInfo }
Sink contains information about a sink in pulseaudio
type Source ¶
type Source struct { Index uint32 Name string Description string SampleSpec sampleSpec ChannelMap channelMap ModuleIndex uint32 Cvolume cvolume Muted bool MonitorSourceIndex uint32 MonitorSourceName string Latency uint64 Driver string Flags uint32 PropList map[string]string RequestedLatency uint64 BaseVolume uint32 SinkState uint32 NVolumeSteps uint32 CardIndex uint32 Ports []sinkPort ActivePortName string Formats []formatInfo }
Source contains information about a source in pulseaudio, e.g. a microphone