| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "fmt"
- "io"
- "log"
- "os"
- "github.com/hajimehoshi/oto"
- "github.com/hajimehoshi/go-mp3"
- )
- func run() error {
- f, err := os.Open("alert.mp3")
- if err != nil {
- return err
- }
- defer f.Close()
- d, err := mp3.NewDecoder(f)
- if err != nil {
- return err
- }
- c, err := oto.NewContext(d.SampleRate(), 2, 2, 44100)
- if err != nil {
- return err
- }
- defer c.Close()
- p := c.NewPlayer()
- defer p.Close()
- fmt.Printf("Length: %d[bytes]\n", d.Length())
- if _, err := io.Copy(p, d); err != nil {
- return err
- }
- return nil
- }
- func main() {
- if err := run(); err != nil {
- log.Fatal(err)
- }
- }
|