Initial prototyping hackery.

This commit is contained in:
2020-04-28 23:42:45 +02:00
commit d6f9ac7138
4 changed files with 123 additions and 0 deletions

32
pulsectl/pulsectl.go Normal file
View File

@ -0,0 +1,32 @@
package pulsectl
import (
"os/exec"
"fmt"
"path"
)
type PipeSourceConfig struct {
PipeName string
PipeDir string
Encoding string
Bitrate int
Channels int
}
func LoadPipeSource(config PipeSourceConfig) error {
cmd := exec.Command("pactl", "load-module", "module-pipe-source",
fmt.Sprintf("source_name=%s", config.PipeName),
fmt.Sprintf("file=%s", path.Join(config.PipeDir, config.PipeName)),
fmt.Sprintf("format=%s", config.Encoding),
fmt.Sprintf("rate=%d", config.Bitrate),
fmt.Sprintf("channels=%d", config.Channels),
)
return cmd.Run()
}
func UnloadPipeSource() error {
cmd := exec.Command("pactl", "unload-module", "module-pipe-source")
return cmd.Run()
}