Go言語で音を鳴らす1(.wav)
この記事の続き.
前回と同じように,これを使う.前回はコードそのままにしてmp3を再生したが,今回はimportのパスをmp3からwavにする.でDecodeのところを`wav.Decode(f)`にする.
package main
import (
"log"
"os"
"time"
"github.com/faiface/beep"
"github.com/faiface/beep/wav"
"github.com/faiface/beep/speaker"
)
func main() {
f, err := os.Open("Tsuyoimonoto-.wav")
if err != nil {
log.Fatal(err)
}
st, format, err := wav.Decode(f)
if err != nil {
log.Fatal(err)
}
defer st.Close()
speaker.Init(format.SampleRate, format.SampleRate.N(time.Second/10))
done := make(chan bool)
speaker.Play(beep.Seq(st, beep.Callback(func() {
done <- true
})))
<-done
}
.wav音源はなんでもいいが,今回はここで適当に音源を取ってきて"Tsuyoimonoto-.wav"としてmain.goと同じディレクトリに置いた.

MacBook-Air sound_wav % go run main.go
# command-line-arguments
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000004.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000005.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000006.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000007.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000008.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000009.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000010.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000011.o) was built for newer macOS version (12.0) than being linked (11.0)
ld: warning: object file (/var/folders/d9/bmytbwsn2yjdxh_zrh3b9z380000gn/T/go-link-3242459880/000012.o) was built for newer macOS version (12.0) than being linked (11.0)
再生できた.もう目標達成.変えたのは3箇所くらいだ.githubのこれがそれだけ優秀だということか.
他に書くようなことも特にないのであっけないがここで締める.