我想我会把所有的 .wav 文件放到一个文件中,然后加载它们。我不认为这会是个问题,但有些地方不对劲。
它从磁盘读取 .wav 文件,然后使用 BinaryWriter 将其写入如下文件:
using (var fs = File.Create("sounds"))
{
using (var bw = new BinaryWriter(fs))
{
var data = File.ReadAllBytes("test.wav");
bw.Write(data.Length);
bw.Write(data);
}
}
然后我尝试使用静态方法 SoundEffect.FromStream 加载它,如下所示:
using (MemoryStream ms = new MemoryStream())
{
using (var fs = File.OpenRead("sounds"))
{
using (var br = new BinaryReader(fs))
{
var length = br.ReadInt32();
var data = br.ReadBytes(length);
ms.Write(data);
}
}
var sound = SoundEffect.FromStream(ms);
}
然后我得到一个异常:“指定的流不是一个 wave 文件。”。 有人可以帮我解决这个问题或解释为什么我不能这样做吗?