【问题标题】:NAudio 4000Hz WAV?NAudio 4000Hz WAV?
【发布时间】:2016-06-09 01:58:32
【问题描述】:

我正在尝试使用如下所示的 NAudio 库。当我将 WAV 文件保存为 Mono、4KHz 时,AudioBytesOriginal 数组全为零。该文件在 Windows 中双击时会播放,因此数据就在那里。它也在 Audacity 中播放。

using ( var waveFileReader = new WaveFileReader( FileNameIn ) )
                {
                    var thisIsWhat = waveFileReader.WaveFormat; // reports as 8KHz
                    AudioBytesOriginal = new byte[waveFileReader.Length];
                    int read = waveFileReader.Read( AudioBytesOriginal , 0 , AudioBytesOriginal.Length );
                    short[] sampleBuffer = new short[read/2];
                    Buffer.BlockCopy( AudioBytesOriginal , 0 , sampleBuffer , 0 , read );

                }

我需要极低的采样率才能在有限的设备上播放,但我使用带有 NAudio 的 .NET Framework 4.6.1 来处理字节工作。

谢谢。

【问题讨论】:

    标签: bytearray filestream wav naudio audacity


    【解决方案1】:

    需要检查的几件事

    1)read 的值是多少?是0吗?

    2) 你检查到sampleBuffer 有多远?即使在音频文件开头半秒的沉默也会导致数千个样本值为 0

    【讨论】:

    • 读取值为 16184。samplebuffer 为 8092,每个数组元素的值为零。
    • 如果您需要,我可以将原始 wav (16k) 发送给您。
    • 原始音频字节怎么样。是全零吗?
    • 原文并非全为零。我发现 nAudio 可以重新采样,所以我会看看我是否可以在 8KHz 下加载,然后降低它mark-dot-net.blogspot.com/2014/05/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-16
    • 1970-01-01
    相关资源
    最近更新 更多