我必须设计一个播放声音的程序(来自 WAV 文件)。我必须创建一个 wav 并播放它。完成后,我必须更改该波形文件的内容并再次播放。这就像播放一个不断变化的波形文件。我想创建一个流,但问题是当我编辑该流时(使用 ms.Postion 和 ms.WriteByte),出现错误,提示“波形头文件已损坏”。以下是我的代码:
MemoryStream ms = new MemoryStream(Sample1);
SoundPlayer myPlayer = new SoundPlayer(ms);
myPlayer.Play(); //Wav file plays
for (int x = 0; x < 50; x++)
{
ms.Position = 44 + x;
ms.WriteByte(10);
}
myPlayer.Stop();
myPlayer.Play(); //Header file corrupt
是否有另一种方法可以循环流,并在播放时更改其内容。例如,流正在循环 Sound1,只要按下按钮,流的内容就会更改为播放 Sound2。
谢谢!