Files
game-driver/internal/middleware/bgm.go
2024-11-22 14:50:24 +08:00

62 lines
1.2 KiB
Go

package middleware
import (
"game-driver/internal/schema"
"game-driver/leaf"
"game-driver/pkg/utils"
"go.uber.org/zap"
"sync"
)
// PlayBgm 播放背景音乐
func PlayBgm() leaf.HandlerFunc {
return func(c *leaf.Context) {
pm := leaf.Value[*schema.PlayModal](c, PayloadJSONKey)
bgm, err := utils.LinkAudio(pm.BGM)
if err != nil {
zap.S().Errorln("背景音乐数据解析异常:", err)
}
if bgm != nil {
zap.S().Infoln("背景音乐解析成功")
// 等待组
var wait sync.WaitGroup
defer wait.Wait()
// 结束信号通道
a := make(chan struct{})
// 发送结束信号
defer close(a)
//wait.Add(1)
//go func() {
// defer wait.Done()
//
// zap.S().Infoln("开始播放背景音乐")
// defer zap.S().Infoln("结束背景音乐播放")
//
// ctrl, closer, e := audio.PlayBgmMP3(bgm)
// defer closer()
// if e != nil {
// zap.S().Errorln("播放背景音乐异常:", e)
// return
// }
//
// select {
// case <-a:
// {
// speaker.Lock()
// ctrl.Streamer = nil
// speaker.Unlock()
// return
// }
// }
//}()
} else {
zap.S().Errorln("背景音乐解析为空")
}
c.Next()
}
}