You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
527 B
Go
28 lines
527 B
Go
3 years ago
|
// +build darwin
|
||
|
|
||
|
package staros
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"os/exec"
|
||
|
)
|
||
|
|
||
|
var (
|
||
|
// DefaultFreq - frequency, in Hz, middle A
|
||
|
DefaultFreq = 0.0
|
||
|
// DefaultDuration - duration in milliseconds
|
||
|
DefaultDuration = 0
|
||
|
)
|
||
|
|
||
|
// Beep beeps the PC speaker (https://en.wikipedia.org/wiki/PC_speaker).
|
||
|
func Beep(freq float64, duration int) error {
|
||
|
osa, err := exec.LookPath("osascript")
|
||
|
if err != nil {
|
||
|
// Output the only beep we can
|
||
|
_, err = os.Stdout.Write([]byte{7})
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
cmd := exec.Command(osa, "-e", `beep`)
|
||
|
return cmd.Run()
|
||
|
}
|