commit b5d777e24d900661857614bfae7096190a26ef88
parent 510674d8bb8e294f99a0f1e4550f67abeb78647a
Author: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Date: Fri, 3 May 2024 16:18:32 +0800
cmd/nativeaudio: allow conversion
Convert the audio file instead of playing it, if out is specified.
Diffstat:
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/cmd/nativeaudio/main.go b/cmd/nativeaudio/main.go
@@ -8,10 +8,14 @@ import (
"git.sr.ht/~jackmordaunt/nativeaudio"
)
-var in string
+var (
+ in string
+ out string
+)
func main() {
- flag.StringVar(&in, "in", "", "input audio file to play")
+ flag.StringVar(&in, "in", "", "input audio file")
+ flag.StringVar(&out, "out", "", "output pcm file, will play audio if out not specified")
flag.Parse()
if err := run(); err != nil {
fmt.Printf("error: %v\n", err)
@@ -20,5 +24,18 @@ func main() {
}
func run() error {
- return nativeaudio.Play(in)
+ if out != "" {
+ un, _, err := nativeaudio.Load(in)
+ if err != nil {
+ return fmt.Errorf("loading audio file: %w", err)
+ }
+ if err := os.WriteFile(out, un, 0o644); err != nil {
+ return fmt.Errorf("writing output pcm file: %w", err)
+ }
+ return nil
+ }
+ if err := nativeaudio.Play(in); err != nil {
+ return fmt.Errorf("playing audio file: %w", err)
+ }
+ return nil
}