使用go语言GUI库实现对mp3文件的播放1(简单的播放mp3文件)
使用beep播放mp3文件(10num)
- 使用go语言GUI库fyne实现音乐播放器
要是想使用go语言实现播放mp3需要借助beep库,在github上有已经开源的库路径如下:beep库文件路径
下面的代码只是实现了简单的播放功能,没有暂停和快进的功能
package main
import (
"github.com/faiface/beep"
"github.com/faiface/beep/mp3"
"github.com/faiface/beep/speaker"
"log"
"os"
"time"
)
/*
使用go语言实现map播放器
*/
func main() {
// 1. 打开mp3文件
audioFile, err := os.Open("/work/video/how_dare_you_say_dont_love_you.mp3")
if err != nil {
log.Fatal(err)
}
// 使用defer防止文件描述服忘记关闭导致资源泄露
defer audioFile.Close()
// 对文件进行解码
audioStreamer, format, err := mp3.Decode(audioFile)
if err != nil {
log.Fatal(err)
}
defer audioStreamer.Close()
// SampleRate is the number of samples per second. 采样率
_ = speaker.Init(format.SampleRate, format.SampleRate.N(time.Second / 10))
// 用于数据同步,当播放完毕的时候,回调函数中通过chan通知主goroutine
done := make(chan bool)
// 这里播放音乐
speaker.Play(beep.Seq(audioStreamer, beep.Callback(func() {
// 播放完成调用回调函数
done <- true
})))
// 等待播放完成
<- done
}
飞书文档:
mp3播放器使用go语言GUI库fyne实现
更多内容:
关注微信公众号,持续更新