Some checks failed
ci/woodpecker/tag/woodpecker Pipeline failed
统一音频输出采样率为 44100Hz,使用 go-audio-resampler 库实现 Windowed Sinc + Polyphase FIR 算法(VeryHigh 28-bit 精度), 替代原有的线性插值透传方案。 主要变更: - 新增 sincResampler:三阶段 Read 循环(填充→处理→Flush) - 双缓冲区架构避免输出样本丢失,复用内存减少 GC 压力 - WAV/MP3/BGM 播放管线全部接入 Sinc 重采样器 - 移除旧的 linearResampler 和透传模式 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
409 B
Go
24 lines
409 B
Go
package audio
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
func TestInitContext(t *testing.T) {
|
|
ctx1, err := initContext()
|
|
if err != nil {
|
|
t.Fatalf("第一次 initContext 失败: %v", err)
|
|
}
|
|
if ctx1 == nil {
|
|
t.Fatal("返回的 context 不应为 nil")
|
|
}
|
|
|
|
ctx2, err := initContext()
|
|
if err != nil {
|
|
t.Fatalf("第二次 initContext 失败: %v", err)
|
|
}
|
|
if ctx2 != ctx1 {
|
|
t.Error("应该返回相同的 context")
|
|
}
|
|
}
|