tags:

views:

1055

answers:

4

I'm trying to play a wav sound that stored in byte array called bytes. I know that I should convert the byte array to wav file and save it in my local drive then called the saved file but I was not able to convert the byte array to wav file.

please help me to give sample code to convert byte arrary of wav sound to wav file.

here is my code:

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();
}
+3  A: 

Try this:

System.IO.File.WriteAllBytes("yourfilepath.wav", bytes);
Jay Riggs
Thank you for your help.your code work for me and convert the byte array to wav file and saved it in given path but the problem that when I use: System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer(myfile);to play it will give me error which is :The wave header is corrupt.but when I use windows media player to play the file it will work.any advice to save this problem?
Eyla
I just tried the URL you supplied and it worked: `new System.Media.SoundPlayer(@"http://media.merriam-webster.com/soundc11/g/good0001").Play();` - perhaps the problem is the download code?
Paul Kohler
+4  A: 

You can use something like File.WriteAllBytes(path, data) or...

...Alternatively if you don't want to write the file you could convert the byte array to a stream and then play that...

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();
}

PK :-)

Paul Kohler
Apologies, I left the `myPlayer.Stream = new MemoryStream()` code in from the sample which would have cancelled out the constructor stream...
Paul Kohler
Thank you for your help.your code works too and I voted up for you too.
Eyla
A: 

VC++ Example: Classes to Record, Play, and Save WAV File to disk


http://www.ucancode.net/Visual_C_MFC_Example/Record-Play-Save-Wave-file-vc-example.htm

I hope U find this useful.

GoodLUCK!!

CVS-2600Hertz
I'm looking for C# code.
Eyla