12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- //go:build !windows
- // +build !windows
- /*
- * Copied from https://github.com/itchyny/volume-go, MIT License
- */
- package Sound
- import (
- "errors"
- //"fmt"
- //"os"
- //"os/exec"
- //"strings"
- "github.com/clockworkpi/LauncherGoDev/sysgo/UI"
- )
- // GetVolume returns the current volume (0 to 100).
- func GetVolume() (int, error) {
- out, err := UI.ExecCmd(getVolumeCmd())
- if err != nil {
- return 0, err
- }
- return parseVolume(string(out))
- }
- // SetVolume sets the sound volume to the specified value.
- func SetVolume(volume int) error {
- if volume < 0 || 100 < volume {
- return errors.New("out of valid volume range")
- }
- _, err := UI.ExecCmd(setVolumeCmd(volume))
- return err
- }
- // IncreaseVolume increases (or decreases) the audio volume by the specified value.
- func IncreaseVolume(diff int) error {
- _, err := UI.ExecCmd(increaseVolumeCmd(diff))
- return err
- }
- // GetMuted returns the current muted status.
- func GetMuted() (bool, error) {
- out, err := UI.ExecCmd(getMutedCmd())
- if err != nil {
- return false, err
- }
- return parseMuted(string(out))
- }
- // Mute mutes the audio.
- func Mute() error {
- _, err := UI.ExecCmd(muteCmd())
- return err
- }
- // Unmute unmutes the audio.
- func Unmute() error {
- _, err := UI.ExecCmd(unmuteCmd())
- return err
- }
|