将字节数组转换为wav文件

Eyl*_*yla 11 c# bytearray wav

我正在尝试播放存储在称为字节的字节数组中的wav声音.我知道我应该将字节数组转换为wav文件并将其保存在我的本地驱动器中然后调用保存的文件,但我无法将字节数组转换为wav文件.

请帮我提供示例代码,将wav声音的字节转换为wav文件.

这是我的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    byte[] bytes = GetbyteArray();

   //missing code to convert the byte array to wav file

    .....................

    System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer(myfile);
    myPlayer.Stream = new MemoryStream();
    myPlayer.Play();
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*ggs 11

试试这个:

System.IO.File.WriteAllBytes("yourfilepath.wav", bytes);
Run Code Online (Sandbox Code Playgroud)

  • 这里的问题不是数据损坏.OP仅具有原始音频字节.他需要在字节数组之前将WAV标头写入文件并补偿大/小端格式.我正在寻找一些干净的代码来做到这一点. (3认同)

Pau*_*ler 7

你可以使用像File.WriteAllBytes(path, data)或......

...或者,如果您不想编写文件,可以将字节数组转换为流然后播放...

var bytes = File.ReadAllBytes(@"C:\WINDOWS\Media\ding.wav"); // as sample

using (Stream s = new MemoryStream(bytes))
{
    // http://msdn.microsoft.com/en-us/library/ms143770%28v=VS.100%29.aspx
    System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer(s);
    myPlayer.Play();
}
Run Code Online (Sandbox Code Playgroud)

PK :-)