diff --git a/pkg/audio/play.go b/pkg/audio/play.go index a6e6b49..7d4a89e 100644 --- a/pkg/audio/play.go +++ b/pkg/audio/play.go @@ -39,6 +39,16 @@ func PlayWav(c context.Context, r io.Reader) { s := beep.Resample(4, format.SampleRate, DefaultSampleRate, streamer) ctrl := &beep.Ctrl{Streamer: s} + + // 测试 Streamer 是否可以正常读取数据 + testSamples := make([][2]float64, 10) + n, ok := s.Stream(testSamples) + zap.S().Debugf("测试读取 Resampler: 读取 %d 样本, ok=%v, 数据=%v", n, ok, testSamples[:n]) + + // 重置 streamer + s = beep.Resample(4, format.SampleRate, DefaultSampleRate, streamer) + ctrl.Streamer = s + done := make(chan struct{}) speaker.Play(beep.Seq(ctrl, beep.Callback(func() { zap.S().Debugln("音频播放完成")