如题,就是先要将wav转成byte[]传到服务端,服务端在将byte[]转成wav这是wav转byte[]
string path = @"D:\验证声音.wav";
            FileStream fs=new FileStream(path,FileMode.Open);
            byte[] buffer = new byte[fs.Length];
            fs.Read(buffer, 0, buffer.Length);
            fs.Flush();
            fs.Close();这是byte[]转wav
 public string UpLoad(byte[] buffer)
        {
            string filename ="sound.wav";
                            
            string path = @"D:\TiXing\Voice\" + filename;
            FileStream fs = new FileStream(path, FileMode.Create);//新建文件
            fs.Write(buffer,0,buffer.Length);
            fs.Flush();
            fs.Close();
            return path;
        }
这样转换错的,无法播放,请高手指教

解决方案 »

  1.   

    File.WriteAllBytes
    File.ReadAllBytes
      

  2.   

    代码没问题,确认传进去的buffer是否正确
      

  3.   

    comp 命令比一下,内容一样吗?
      

  4.   


    刚发现我的buffer的值都是0,没能写进去?不懂
      

  5.   

    测试了下  txt文件没问题,音频wav文件用这种方法不行,buffer里都是0,没有写入值
      

  6.   


            Byte[] bs;
            private void button1_Click(object sender, EventArgs e)
            {
                FileStream fs = new FileStream(@"C:\windows\Media\chimes.wav",FileMode.Open,FileAccess.Read);
                bs = new Byte[fs.Length];
                fs.Read(bs, 0, (int)fs.Length);
                fs.Close();
            }        private void button2_Click(object sender, EventArgs e)
            {
                FileStream fs = new FileStream(@"d:\1.wav", FileMode.OpenOrCreate, FileAccess.Write);
                fs.Write(bs, 0, bs.Length);
                fs.Close();
            }
      

  7.   

    txt跟wav文件本质上是一样的.
    不存在这个行,那个不行的问题.
      

  8.   

    OK了,看了楼上的代码,我忽然想会不会是中文的问题,把文件名改成英文,测试,OH,my laddy gaga,还真是中英文的问题