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のこれがそれだけ優秀だということか.

他に書くようなことも特にないのであっけないがここで締める.

この記事が気に入ったらサポートをしてみませんか?