在 NAudio 中使用断言
Using Assert in NAudio
我在 this Whosebug 线程上找到的 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' 在当前上下文中不存在。
我该如何解决这个问题?
这作为评论可能更好,但我没有足够的声誉来这样做
Assert 是 XUnit 的一个函数。
添加该引用。并添加 using 指令。
using Xunit;
该代码中的 Assert.AreEqual
来自 NUnit,但在生产代码中完全没有必要依赖单元测试框架。如果你想要检查,如果它不匹配就抛出某种异常。例如:
if (reader.WaveFormat.BitsPerSample != 16)
throw new NotSupportedException("Only works with 16 bit audio");
我在 this Whosebug 线程上找到的 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' 在当前上下文中不存在。
我该如何解决这个问题?
这作为评论可能更好,但我没有足够的声誉来这样做
Assert 是 XUnit 的一个函数。
添加该引用。并添加 using 指令。
using Xunit;
该代码中的 Assert.AreEqual
来自 NUnit,但在生产代码中完全没有必要依赖单元测试框架。如果你想要检查,如果它不匹配就抛出某种异常。例如:
if (reader.WaveFormat.BitsPerSample != 16)
throw new NotSupportedException("Only works with 16 bit audio");