XML 声音的字节形式



我有一个.wav文件,我将这个字节形式写入XML。我想在我的状态下播放这首歌,但我不确定我是否正确,而且它不起作用。Str是我文件的字节形式。

byte[] soundBytes = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream(soundBytes, 0, soundBytes.Length);
ms.Write(soundBytes, 0, soundBytes.Length);
SoundPlayer ses = new SoundPlayer(ms);
ses.Play();

我认为问题在于您使用缓冲区初始化MemoryStream,然后将相同的缓冲区写入流。因此,流从一个给定的数据缓冲区开始,然后用一个相同的缓冲区覆盖它,但在这个过程中,你也要将流中的当前位置更改到最后。

byte[] soundBytes = Convert.FromBase64String(str);
MemoryStream ms = new MemoryStream(soundBytes, 0, soundBytes.Length);
// ms.Position is 0, the beginning of the stream
ms.Write(soundBytes, 0, soundBytes.Length);
// ms.Position is soundBytes.Length, the end of the stream
SoundPlayer ses = new SoundPlayer(ms);
// ses tries to play from a stream with no more bytes to consume
ses.Play();

删除对ms.Write()的调用,看看它是否有效。

相关内容

  • 没有找到相关文章

最新更新