代码之家  ›  专栏  ›  技术社区  ›  ACE

为什么CSCore均衡器SampleFilters[9](16Khz)在C中完全不起作用#

  •  1
  • ACE  · 技术社区  · 11 年前

    我最近发现,如果我想在应用程序中添加均衡器,我可以使用CSCore库!我测试过了,很好!但问题是16Khz均衡器频带(Treble)根本没有任何效果!! 我该怎么办? 我甚至尝试了真正的高数字!但没有影响(

    _equalizer.SampleFilters[9].AverageGainDB = 35.5;
    

    其他通道运行良好(0-8)。

    1 回复  |  直到 11 年前
        1
  •  0
  •   ACE    11 年前

    我发现怎么了!我找到了解决方案:) 问题来自我从CScoreCodeplex页面下载的均衡器示例源代码

    var source = CodecFactory.Instance.GetCodec(ofn.FileName)
                    .Loop()
                    .ChangeSampleRate(32000)
                    .AppendSource(Equalizer.Create10BandEqualizer, out _equalizer)
                    .ToWaveSource();
    

    我评论了“.ChangeSampleRate”部分,它已经解决了!

    我将其更改为:

    source = CodecFactory.Instance.GetCodec(ofn.FileName)
                    .Loop()
                    .ChangeSampleRate(44100)
                    .AppendSource(Equalizer.Create10BandEqualizer, out _equalizer)
                    .ToWaveSource();
    
    推荐文章