在NAudio中使用断言

时间:2018-08-09 11:31:30

标签: c# audio naudio

我正在this stackoverflow线程上找到的C#程序中使用这部分代码。

using (WaveFileReader reader = new WaveFileReader("myfile.wav"))
{
    Assert.AreEqual(16, reader.WaveFormat.BitsPerSample, "Only works with 16 bit audio");
    byte[] buffer = new byte[reader.Length];
    int read = reader.Read(buffer, 0, buffer.Length);
    short[] sampleBuffer = new short[read / 2];
    Buffer.BlockCopy(buffer, 0, sampleBuffer, 0, read);
}

代码使用NAudio,因此我引用了库并添加了using NAudio.Wave;,但我收到错误消息:当前上下文中不存在名称'Assert'。

我该如何解决?

这可能会更好,但是我没有足够的声誉

2 个答案:

答案 0 :(得分:1)

Assert是XUnit的功能。

添加该参考。并添加using指令。

using Xunit;

答案 1 :(得分:1)

该代码中的Assert.AreEqual来自NUnit,但是在生产代码中完全不需要依赖单元测试框架。如果要进行检查,则在不匹配时抛出某种异常。例如:

if (reader.WaveFormat.BitsPerSample != 16)
    throw new NotSupportedException("Only works with 16 bit audio");